ViewPager删除数据后UI未更新

作者: 蓝不蓝编程 | 来源:发表于2019-08-07 15:28 被阅读5次

问题描述

删除ViewPager对应的数据对象集合中部分数据后,已调用notifyDataSetChanged,但是UI未更新.

原因

PagerAdapter中getItemPosition默认返回的是POSITION_UNCHANGED,表示数据位置未变化,这样UI就不会更新了.

    public int getItemPosition(@NonNull Object object) {
        return POSITION_UNCHANGED;
    }

解决方案

  1. 如果是小数据量,可以采用下面方案,全量刷新UI.
    实现PagerAdapter时,覆写getItemPosition
@Override
    public int getItemPosition(Object object) {
        return POSITION_NONE;
    }
  1. 如果数据量较大,则参考PagerAdapter数据刷新问题中第二种方案

参考资料

PagerAdapter数据刷新问题
Viewpager删除item(数据源发生改变)没有即时更新

相关文章

网友评论

    本文标题:ViewPager删除数据后UI未更新

    本文链接:https://www.haomeiwen.com/subject/ttnodctx.html