1

我正在为我的程序制作好友列表。我现在拥有的是ListView服务器发送给我的所有用户。我显示姓名和联系地址。我还需要实时显示用户是在线还是离线。

当我ListView第一次填充ArrayList所有用户及其状态时,我可以显示他们的所有信息。当用户下线和下线时,我的问题就出现了。他们仍在列表中,但他们的状态必须改变。

我一直在网上寻找解决方案。我发现的那个说我应该清除第ArrayList一个,然后使ListView重绘无效,然后将新数据添加到 ArrayList,然后通知我的适配器ListView再次填充adapter.notifyDataSetChanged().

我认为这可能是一个缓慢的解决方案,因为我可以有 1000 个联系人并且他们可以经常更改状态。

有没有其他解决方案可以做到这一点?

提前致谢。

4

1 回答 1

0

我有一个ArrayList<Contact>where Contact 是一个自定义类,它具有联系人私有参数(名称、uri 和状态)。当用户更改其状态时,我在数组中搜索并更改其状态。

然后我将新的传递ArrayList<Contact>给我的自定义 BaseAdapter,然后执行adapter.notifyDataSetChanged(). 没有必要使第一个无效ListView

于 2013-05-23T14:27:56.233 回答