【问题标题】:FragmentStatePagerAdapter : continue to show the current fragment after dataset is changedFragmentStatePagerAdapter : 数据集改变后继续显示当前片段
【发布时间】:2016-07-05 18:06:34
【问题描述】:

我有一个 viewPager。

假设底层数据集为d0,d1,d2,d3等,对应的片段为f0,f1,f2,f3...

当前片段 f1 可见,即ViewPager 的位置 1。 d0, 被移除并在适配器上调用notifyDataSetChanged

现在,当前可见片段将变为 f2,即 f2 将位于位置 1,而 f1 将位于位置 0,ViewPager

我希望 f1 在数据集更改后保持可见,即 ViewPager 应该显示对应位置 0 的 Fragment

如何做到这一点?

编辑:目前,我使用viewpager.setCurrentItem(int position) 来实现这一点,但它的用户界面体验很生涩。用户可以看到viewPager 项的更改。

【问题讨论】:

  • 请更具体,甚至更好,贴一些相关代码
  • @AbrahamyanSamvel 我已将问题编辑得更具体。
  • 你做到了吗?我目前正在尝试这样做

标签: android android-layout android-fragments android-viewpager fragmentstatepageradapter


【解决方案1】:

尝试使用您想要的片段位置调用viewpager.setCurrentItem(int position)

【讨论】:

  • 是的,我目前正在使用它,但它是生涩的体验。 Fragment 的变化是可见的。
  • 那是因为您正在调用 notifyDataSetChanged() 并使 viewpager 重绘选项卡和片段
  • notifyDataSetChanged() 有替代品吗?
  • 您是否尝试为 ViewPager 适配器扩展 FragmentStatePagerAdapter ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-06
相关资源
最近更新 更多