您当前的位置: 首页 >  ui

蓝不蓝编程

暂无认证

  • 0浏览

    0关注

    706博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ViewPager删除数据后UI未更新

蓝不蓝编程 发布时间:2019-08-07 15:28:38 ,浏览量:0

问题描述

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

关注
打赏
1639405877
查看更多评论
立即登录/注册

微信扫码登录

0.0431s