我有具有3个标签的ViewPager。 Tab(3),在股票片段旁边,还包括另外2个片段(B)->(C)。
Tab(1)
Tab(2)
Tab(3) --> (B) --> (C)
通过在(C)中按一个按钮,我想刷新/重新创建Tab(2)。最好的方法是什么?谢谢。
public class ViewPageAdapter extends FragmentStatePagerAdapter {
private static int NUM_ITEMS = 3;
private FragmentManager mFragmentManager;
private Context mContext;
public ViewPageAdapter(@NonNull FragmentManager fm, Context context) {
super(fm,BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
mFragmentManager = fm;
mContext = context;
}
@NonNull
@Override
public Fragment getItem(int position) {
switch (position){
case 0: return new FragmentInsta();
case 1: return new FragmentListUnlogged();
case 2: return new FragmentHostUnlogged();
default:
return new FragmentListLogged();
}
}
@Override
public int getCount() {
return NUM_ITEMS;
}
@Override
public int getItemPosition(@NonNull Object object) {
return POSITION_NONE;
}
}
感谢用户名为“ Andrew”,我找到了解决方案。我以这种方式覆盖了onPause方法。
@Override
public void onResume() {
if(preferenceUtils.getBoolean("isLogged")){
FragmentTransaction trans = getChildFragmentManager().beginTransaction();
trans.replace(R.id.listUnlogged_container, new FragmentListLogged(), "ListUnlogged-ListLogged");
trans.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
trans.addToBackStack(FRAGMENT_TAG);
trans.commit();
}
super.onResume();
}