1

在 android 开发者博客上,我读过这个:

如果您尝试替换 ViewPager 中的视图,仅更改适配器后面的数据集并调用 notifyDataSetChanged() 是不够的。您还需要确保您已正确实现 getItemPosition(Object object) 并为已更改的项目返回 POSITION_NONE 并为未更改的项目返回 POSITION_UNCHANGED 或实际位置。

“替换视图”是什么意思?因此,例如,如果我有一个 ViewPager 的片段包含一个 ArrayAdapter 并且我附加了新数据,我需要在片段内调用 notifyDataSetChanged() 并使用 getItemPosition() 在 ViewPager 中捕获它?如果我不这样做有什么问题?

4

1 回答 1

1

如果您修改 viewpager 的数据集,它还想知道片段或视图是否与以前的顺序相同。您这样做会覆盖 getItemPosition(obj)。

如果你不这样做,viewpager 将不知道新的视图顺序,所以它可能会搞砸。

于 2013-09-15T09:41:11.140 回答