概述
// 对于一个listview,当我们把信息存放到一个List链表中时,然后又对这个链表进行流排序,
// 最后去刷新适配器发现无改变,原因为咱们改变流链表中值得位置,
// 但没有改变值在内存中所储存的地址,即引用没有改变,所以我们可以对adapter再new 一次,
// 然后setAdapter 到相应的ListVeiw或者GridView即可解决问题。
解决办法就是将数据适配器的新建重新new,而不是setList()、setNewInstance、notifyDataSetChanged(),
例子: 原
//这里是为bull
homeAdapter = new BaseQuickAdapter<Test, BaseViewHolder>(R.layout.home_item,null) {
@Override
protected void convert(@NotNull BaseViewHolder baseViewHolder, Test s) {
};
再通过setNewInstance更新。普通数据可以更新,但是设计复杂UI选择就更新不了,或者部分不更新。
改:
//这里是直接赋值,不为null。值是在判断后在新建适配器这个方法赋值。是new而不是更新
homeAdapter = new BaseQuickAdapter<Test, BaseViewHolder>(R.layout.home_item,shis) {
@Override
protected void convert(@NotNull BaseViewHolder baseViewHolder, Test s) {
};
思路原文章:
https://blog.csdn.net/yangyong915/article/details/41593069
最后
以上就是魁梧香烟为你收集整理的android 适配器数据更新,UI没有更新问题的全部内容,希望文章能够帮你解决android 适配器数据更新,UI没有更新问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复