android 适配器数据更新,UI没有更新问题

16 篇文章 0 订阅
4 篇文章 0 订阅
// 对于一个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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值