6

当我使用 listview 时,我扩展了 ArrayAdapter 并将数据(一个列表)存储在 ArrayAdapter 中,因此当数据更改时,我调用:

adapter.add(item).;

还有另一种选择,将数据存储在我的列表中,当数据更改时,在 MyAdapter.java 中调用:

 listView.setAdapter(adapter);
 adapter.notifyDataSetChanged();

哪个是最好的选择?

4

1 回答 1

5

当然adapter.add(item);,在调用之后notifyDataSetChanged()是更好的方法,而不是初始化新适配器并再次设置它。但它只在我们使用同一个列表并添加或删除一些元素时才有效。当我们更改整个列表时,它不会起作用,我们应该使用 list.addall(nList)。

于 2013-09-20T04:22:11.987 回答