ViewPager删除数据后UI未更新

问题描述

删除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(数据源发生改变)没有即时更新

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容