说明
Adapter notifyDataSetChanged()刷新数据,是很正常的操作。但是PagerAdapter在调用该方法时无效,这就比较坑了。这个跟用惯了listview相关刷新的,很是不可理解,其实也不难理解,viewpager跟listview还是不同的,导致一些实现有区别。下面就来简单聊聊这个坑。
直接上代码
重写 PagerAdapter 的 getItemPosition(Object object) 方法,将返回值固定为 POSITION_NON
上代码:
@Override
public int getItemPosition(Object object) {
// 最简单解决 notifyDataSetChanged() 页面不刷新问题的方法
return POSITION_NONE;
}
其他说明
具体原因可以参考文章:https://www.cnblogs.com/fuyaozhishang/p/7079151.html;
里面有详细的说明,还扩展了viewpager其他几个adapter刷新问题。
网友评论