当我使用listview时,我扩展了ArrayAdapter并将数据(一个列表)存储在ArrayAdapter中,所以当数据发生变化时,我会调用:
adapter.add(item).;
还有另一种选择,将数据存储在我的列表中,当数据发生变化时,在MyAdapter.java中调用:
listView.setAdapter(adapter);
adapter.notifyDataSetChanged();
哪个是最佳选择?
答案 0 :(得分:4)
关闭课程adapter.add(item);
,之后调用notifyDataSetChanged()
是更好的方式,而不是初始化新适配器并再次设置它。但它只有在我们使用相同的列表并添加或删除某些元素时才有效。当我们改变整个列表时,它将无法工作,我们应该使用list.addall(nList)。