问题描述
删除ViewPager对应的数据对象集合中部分数据后,已调用notifyDataSetChanged,但是UI未更新.
原因
PagerAdapter中getItemPosition默认返回的是POSITION_UNCHANGED,表示数据位置未变化,这样UI就不会更新了.
public int getItemPosition(@NonNull Object object) {
return POSITION_UNCHANGED;
}
解决方案
- 如果是小数据量,可以采用下面方案,全量刷新UI.
实现PagerAdapter时,覆写getItemPosition
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
- 如果数据量较大,则参考PagerAdapter数据刷新问题中第二种方案
网友评论