android listview:adapter.add(item)?或者adapter.notifyDataSetChanged()

时间:2013-09-20 03:59:48

标签: android listview

当我使用listview时,我扩展了ArrayAdapter并将数据(一个列表)存储在ArrayAdapter中,所以当数据发生变化时,我会调用:

adapter.add(item).;

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

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

哪个是最佳选择?

1 个答案:

答案 0 :(得分:4)

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