オブジェクトのリストを表示するための ArrayAdapter を持つ ListFragment があります。ListFragment の内容を更新したい。項目自体のテキストが少し変更され、順序も変更されます。私は 100 を超えるアイテムを持っていますが、これを行う唯一の方法は、リストをクリアして再度追加することですが、これは効率が悪いと感じています。
例えば:
ListFragment 表示順不同:
Object A
Object D
Object F
Object B
Object E
Object C
ListFragment の表示順序:
Object A
Object B
Object C
Object D
Object E
Object F
ArrayAdapter を次のように設定しました。
mAdapter = new ArrayAdapter<Store>(mContext,
android.R.layout.simple_list_item_1,
OtherClass.list);
mAdapter.setNotifyOnChange(true);
setListAdapter(mAdapter);
「その他のクラス」は次のとおりです。
public class OtherClass extends Object {
public ListArray<Object> list;
...
}
問題のコード:
mAdapter.clear();
for (Object o : list) {
mAdapter.add(store);
}
それがどのように機能し、どのように使用するかについて、私はすでに多くの回答を読みましたmAdapter.notifyDataSetChanged()
が、どれも私の問題を解決したり、私の質問に答えたりするものではありません. リストに何かを追加/削除することによってリストを更新する唯一の方法はありますか?