0

次のコードを検討してください。

List<String> list = new ArrayList<String>();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, resource, textViewResourceId, list);

// Method 1 : Add an item.
adapter.add("ITEM1");

// Method 2 : Add an item
list.add("ITEM2");

にアイテムを追加する正しい方法はArrayAdapterどれですか? 私には思えますが、どちらの方法も問題なく機能します。

4

2 に答える 2

1

を にすでにアタッチしてAdapterViewいる場合、方法 1 は関連する を更新します。方法 2 はそうではなく、 で呼び出す必要があります。ArrayAdapterAdapterViewnotifyDataSetChanged()ArrayAdapter

通常、 をArrayList作成する前に に入力し、ArrayAdapter方法 1 を使用して後で新しいエントリを動的に追加します (たとえば、ユーザー データ エントリに基づいて)。

于 2011-07-07T13:53:35.497 に答える
0

これは、特に検索結果ページ (ユーザーが下にスクロールする (リストが変更される) と拡大する) 場合に、私が行っていることです。

クラスにグローバルな文字列のローカル ArrayList を保持します. アダプタを初期化します (ローカルおよびグローバルでも). 指定されたメソッドに文字列の ArrayList を変更させます. 次に, adapter.notifyDataSetChanged(); を呼び出します.

これにより、リストが更新されるだけでなく、アダプターが同期して動作するように更新されます。

お役に立てれば、

最高、セルカン

于 2011-07-07T14:04:47.903 に答える