如何动态更新ListView的内容?
应用程序从服务器获取列表并显示它。此外,应用程序还会缓存此列表,以便立即向用户显示。在未来的某个地方应用程序将获得更新列表(更新很小:添加了两个项目,一个被删除)。
如何检测更改并仅更新ListView中的这些项?有没有完整的解决方案?
答案 0 :(得分:0)
如果您使用的是ArrayAdapter,则可以使用.add(),. addAll(),. remove()来更改适配器的数据。然后调用.notifyDataSetChanged()来刷新GUI中的视图。
答案 1 :(得分:0)
以下是更改数据源时刷新ListView
的代码。
List<Something> lists;
你的Adapter
应该这样:
public MyAdapter extends BaseAdapter{
private List<Something> mLists;
public MyAdapter(List<Something> lists){
mLists = lists;
}
...
}
并初始化Adapter
:
MyAdapter适配器=新的MyAdapter(列表);
listView.setAdapter(适配器);
当列表发生变化并且您想要刷新ListView
时,请按以下方式调用:
adapter.notifyDataSetChanged();
或:
listview.notify();
然后您会看到ListView
已更改。