最近在仿照QQ的聊天Chatting列表,我希望呢ListVIew数据能够实时刷新并且指定到最新的一条
msgCollecttion=GetMessageDatesesList(); //重新获取数据
msgAdapter.NotifyDataSetChanged(); //Adapter数据刷新
结果很神奇的事情是UI并没有任何反应
在查证相关资料后 应该是这样的:
同一个List对象赋予了不同的引用,解决的办法是调用List中的add方法,将需要添加的数据再加入到List对象中,问题解决
//不能重新赋值 必须让原对象指向同一块内存地址,否则Adapter感知不了变化
msgCollecttion.Clear();
foreach (var item in ChatLogManager.Instance.GetMessageDatesesList())
{
msgCollecttion.Add(item);
}