这是将项添加到ArrayAdapter的正确方法

时间:2011-07-07 13:50:01

标签: android android-adapterview

请考虑以下代码。

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的正确方法是什么?在我看来,两种方法都可以正常工作。

2 个答案:

答案 0 :(得分:1)

如果您已将AdapterView附加到ArrayAdapter,则方法1会更新关联的AdapterView。方法2没有,要求您致电notifyDataSetChanged()上的ArrayAdapter

通常,您在创建ArrayList之前填充ArrayAdapter,然后使用方法1稍后动态添加新条目(例如,基于用户数据条目)。

答案 1 :(得分:0)

这就是我的工作,特别是对于我的搜索结果页面 - 随着用户向下滚动(列表更改)而增长。

我会保留一个本地的String列表,该列表是全局的, 初始化适配器(也是本地和全局), 有一个指定的方法改变字符串的ArrayList, 然后调用adapter.notifyDataSetChanged();

这不仅会更新您的列表,还会更新适配器以使其同步工作。

希望这有帮助,

最好的, -serkan