我有一个ViewPager,它的子片段是动态的。我在相同的片段类中使用它们,我正在动态地更改字段的值。但是当我更改ViewPager位置时,它不会更新片段。我必须立即更改值。
谢谢。
答案 0 :(得分:0)
在片段类中声明refreshFragment
方法然后
在ViewPagerAdapter
类覆盖方法
@Override
public int getItemPosition(@NonNull Object object) {
MyFragment f = (MyFragment ) object;
if (f != null) {
f.refreshFragment();
}
return super.getItemPosition(object);
}
致电时
viewPagerAdapter.notifyDataSetChanged();
它将在适配器类中调用getItemPosition
方法并使用refreshFragment方法更新您的片段。
答案 1 :(得分:0)
Android默认情况下会在当前页面的两侧保留一页以优化加载。由于您每次都需要刷新页面,因此您需要使用viewpager.setOffScreenPageLimit(0)
设置每次查看时重新创建的页面