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

方法 1 更新关联的AdapterView,如果您已经附加ArrayAdapterAdapterView. 方法 2 没有,需要您调用notifyDataSetChanged().ArrayAdapter

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

于 2011-07-07T13:53:35.497 回答
0

这就是我所做的,尤其是对于我的搜索结果页面 - 它随着用户向下滚动(列表更改)而增长。

我会保留一个对类全局的字符串的本地 ArrayList,初始化适配器(也在本地和全局),让指定的方法更改字符串的 ArrayList,然后调用 adapter.notifyDataSetChanged();

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

希望这可以帮助,

最好的,-serkan

于 2011-07-07T14:04:47.903 回答