项目场景:
使用ViewPager展示多页fragment滑动到边界更新数据
问题描述
在使用ViewPager展示数据时,项目需求–展示页面达到最后一个时继续滑动会刷新项目,并把CurrentItem设置为首页。
在实际的测试过程中,触发ViewPager最后一页事件后程序传入新的数据,并通过Adapter的notifyDataSetChanged()方法更新页面,随后调用viewPager.setCurrentItem()方法设置展示首页面。
本应该还如预期ViewPager展示的页面为setCurrentItem设置的页面,结果却是没调用notifyDataSetChanged之前的CurrentItem下标的页面。对此我很困惑。
原因分析:
等待考究!!!
解决方案:
给出如下解决方案:
上述触发事件后的一系列关于viewPager的操作收拢为一原子操作,将这一操作通过ui线程的Handler,调用postDelayed()方法延时执行,问题解决,但原因本人尚未找到答案。