Android PagerAdapter刷新(notifyDataSetChanged())无效

说明

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刷新问题。

就说到这了,有什么不对的地方,欢迎指正,有什么没说全的,欢迎讨论留言

你可能感兴趣的:(Android PagerAdapter刷新(notifyDataSetChanged())无效)