2

Buttonクリックするとこのコードがあります

からアイテムを削除してListViewいますが、アダプターにまだ問題が表示されています。

restaurants_bean_arr.remove(restaurants_bean_arr.get(item_position).facilities.get(item_position).getUrl());
                     restaurants_bean_arr.remove(restaurants_bean_arr.get(item_position).facilities.get(item_position).getName());
    DisplayDataAdapter adapter = new DisplayDataAdapter(getApplicationContext());           
    adapter.notifyDataSetChanged();
     listView.setAdapter(adapter);

アイテムがオブジェクトクラスから削除されないという問題の可能性があるアイデアArrayList

ありがとう

4

3 に答える 3

2

次の順序を切り替えます。

adapter.notifyDataSetChanged(); 
listView.setAdapter(adapter);

に:

listView.setAdapter(adapter);
adapter.notifyDataSetChanged();
于 2013-09-28T18:59:03.120 に答える
1

データセットを変更してこれを newにAdapter設定するたびに、新しい を作成しているようです。あなたはそれをする必要はありません。データセットに変更を加えてから、.AdapterListViewnotifyDataSetChanged()Adapter

したがって、コードは次のようになります。

restaurants_bean_arr.remove(restaurants_bean_arr.get(item_position).facilities.get(item_position).getUrl()); 
restaurants_bean_arr.remove(restaurants_bean_arr.get(item_position).facilities.get(item_position).getName());
adapter.notifyDataSetChanged();     
于 2013-09-28T19:07:29.593 に答える
1

ここに問題があります

 DisplayDataAdapter adapter = new DisplayDataAdapter(getApplicationContext()); 

新しいアダプタを作成しています。グローバル値アダプターを作成し、次のように試してください。

restaurants_bean_arr.remove(restaurants_bean_arr.get(item_position).facilities.get(item_position).getUrl());
                 restaurants_bean_arr.remove(restaurants_bean_arr.get(item_position).facilities.get(item_position).getName());
 adapter.notifyDataSetChanged();
于 2013-09-28T21:04:26.800 に答える