I have an Activity that contains a Fragment with a ViewPager . Then I call the Fragment method in the ViewPager. But if this fragment calls getParentFragment() , it returns null.
Why is getParentFragment() null?
The main snippet containing the ViewPager:
public class MyFragment extends Fragment { private TabLayout mTabLayout; private ViewPager mViewPager; private ViewPagerAdapter mAdapter; @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); View view = getView();
Nested fragment (inside mViewPager ):
public class Fragment0 extends Fragment { ... public void testMethod() { if (isDetached()) { return; }
ViewPagerAdapter :
public class ViewPagerAdapter extends FragmentPagerAdapter { private Context mContext; public ViewPagerAdapter(FragmentManager manager, Context context) { super(manager); mContext = context; } @Override public Fragment getItem(int position) { switch (position) { case 0: return new Fragment0(); case 1: return new Fragment1(); case 2: return new Fragment2(); case 3: return new Fragment3(); case 4: return new Fragment4(); } return null; } @Override public int getCount() { return 5; } }
If more code is required, let me know. Thank you for your help.
source share