首页 > 代码库 > ListVIew中的数据发生改变时,数据不显示的问题
ListVIew中的数据发生改变时,数据不显示的问题
在进行listview的数据添加的时候,改变数据源后使用notifyDataSetChanged()方法刷新数据源的时候,发现界面根本不显示数据,一脸懵逼。
最后把问题放了一周后,找到了解决办法,原因是我把数据源改变的时候是直接赋值的,看网上的说法是改变了数据源的引用,而你给listview添加数据的时候,其实是给的一个句柄,而你给数据源直接赋值的时候是改变了句柄的,导致两处的句柄不同,而notifyDataSetChanged()方法其实是监控的前一个句柄的变化,所以导致notifyDataSetChanged()就不能刷新数据了。
有问题的写法:myModel = model;
正确的写法:myModel.clear();
myModel.addAll(model);
不知道你们看懂没有,不管懂没懂,反正这么写就对了
ListVIew中的数据发生改变时,数据不显示的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。