I am trying to place a ViewPager, which has several fragments as pages, inside a parent fragment.
I see there are a few threads about this have have not found any that fix the issue I'm having.
I have tried the following: getFragmentManager getChildFragmentManager getActivity().getSupportFragmentManager (AppCompatActivity(getActivity())).getFragmentManager
While getActivity does work, then my other methods become "unreachable" and I have no idea why.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_home, container, false);
return view;
initViews (view);
Utils.getInstance(getActivity());
CheckItemNull();
myTabLO.addTab(myTabLO.newTab().setText("Tab 1"));
myTabLO.addTab(myTabLO.newTab().setText("Tab 2"));
myTabLO.addTab(myTabLO.newTab().setText("Tab 3"));
myTabLO.addTab(myTabLO.newTab().setText("Tab 4"));
myTabLO.addTab(myTabLO.newTab().setText("Tab 5"));
myTabLO.setTabGravity(TabLayout.GRAVITY_FILL);
myVPAdatper = new MyVPAdapter(getActivity().getSupportFragmentManager(), myTabLO.getTabCount());
myVP.setAdapter(myVPAdatper);
myVP.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(myTabLO));
myTabLO.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
myVP.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
Hum, I'm still new to code, but i think the keyword from the method should be in the end of the code not in the beginning, because when the compiler read the code it finishes the process after reading the keyword "return" if the method has one.
I think that you are getting the fragmentManager wrong too. Instead of:
getActivity().getSupportFragmentManager()
Use just!
getSupportFragmentManager()
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_home, container, false);
initViews (view);
Utils.getInstance(getActivity());
CheckItemNull();
myTabLO.addTab(myTabLO.newTab().setText("Tab 1"));
myTabLO.addTab(myTabLO.newTab().setText("Tab 2"));
myTabLO.addTab(myTabLO.newTab().setText("Tab 3"));
myTabLO.addTab(myTabLO.newTab().setText("Tab 4"));
myTabLO.addTab(myTabLO.newTab().setText("Tab 5"));
myTabLO.setTabGravity(TabLayout.GRAVITY_FILL);
myVPAdatper = new MyVPAdapter(getSupportFragmentManager(), myTabLO.getTabCount());
myVP.setAdapter(myVPAdatper);
myVP.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(myTabLO));
myTabLO.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
myVP.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
return view;
});
GIVE A TRY!