ViewPager使用notifyDataSetChanged()刷新数据后调用setCurrentItem显示不准确的问题

项目场景:

使用ViewPager展示多页fragment滑动到边界更新数据


问题描述

在使用ViewPager展示数据时,项目需求–展示页面达到最后一个时继续滑动会刷新项目,并把CurrentItem设置为首页。
在实际的测试过程中,触发ViewPager最后一页事件后程序传入新的数据,并通过Adapter的notifyDataSetChanged()方法更新页面,随后调用viewPager.setCurrentItem()方法设置展示首页面。
本应该还如预期ViewPager展示的页面为setCurrentItem设置的页面,结果却是没调用notifyDataSetChanged之前的CurrentItem下标的页面。对此我很困惑。


原因分析:

等待考究!!!


解决方案:

给出如下解决方案:
上述触发事件后的一系列关于viewPager的操作收拢为一原子操作,将这一操作通过ui线程的Handler,调用postDelayed()方法延时执行,问题解决,但原因本人尚未找到答案。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值