我是参照这个博客修改的
http://www.educity.cn/wenda/179816.html
通过阅读adapter的源码,是因为如果item的位置如果没有发生变化,则返回POSITION_UNCHANGED。
如果返回了POSITION_NONE,表示该位置的item已经不存在了。默认的实现是假设item的位置永远不会发生变化,而返回POSITION_UNCHANGED
解决方案:
所以我们可以尝试着修改适配器的写法,覆盖getItemPosition()方法,当调用notifyDataSetChanged时,让getItemPosition方法人为的返回POSITION_NONE,从而达到强迫viewpager重绘所有item的目的。
我在代码中觉得的例子供大家参照一下;
private class ImagePagerAdapter extends PagerAdapter {
{
private int mChildCount = 0;
{
super.notifyDataSetChanged();
}
{
if ( mChildCount > 0)
{
mChildCount –;
return POSITION_NONE;
}
return super.getItemPosition(object);
}
}
源码我在这里就不一一解释了!有时间一块探讨,谢谢
viewPager的adapter数据不更新
最新推荐文章于 2019-12-04 15:38:08 发布