从服务器获取更新列表时更新ListView

时间:2015-04-09 22:24:19

标签: android rest listview

如何动态更新ListView的内容?

应用程序从服务器获取列表并显示它。此外,应用程序还会缓存此列表,以便立即向用户显示。在未来的某个地方应用程序将获得更新列表(更新很小:添加了两个项目,一个被删除)。

如何检测更改并仅更新ListView中的这些项?有没有完整的解决方案?

2 个答案:

答案 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已更改。