2011-07-07 7 views
0

次のコードを考えてみましょう。ArrayAdapterに項目を追加する正しい方法はどれですか

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にアイテムを追加する正しい方法は何ですか?私のように、どちらの方法もうまく動作します。

答えて

1

AdapterViewに既にArrayAdapterを添付している場合、方法1は関連付けられたAdapterViewを更新します。方法2はありません。ArrayAdapternotifyDataSetChanged()に電話する必要があります。

通常、ArrayAdapterを作成する前にArrayListを入力してから、方法1を使用して後で新しい項目を動的に追加します(ユーザーデータ入力などに基づいて)。

+0

+1 –

0

これは私がやっていることです。特に検索結果ページでは、ユーザーが下にスクロールするにつれて大きくなります(リストの変更)。

私は( が指定された方法は 次にadapter.notifyDataSetChangedを呼び出し、文字列のArrayListのを変更したが、 は、(また、ローカルおよびグローバル)アダプタを初期化するクラスにグローバルである文字列のローカルのArrayListを保つだろう);

これはあなたのリストを更新するだけでなく、同期して動作するようにアダプタを更新します。このことができます

希望、

最高、良い答えを -serkan

関連する問題