My app has this flow
Activity (TabLayout) -> Fragment 1 -> Fragment 2 -> Fragment 3
When I either press back on Fragment 2 or Fragment 3, I already go back to Fragment 1. I want to go back to Fragment 2 if I am on Fragment 3.
From fragment 1 to fragment 2
Frag2 childFrag = new Frag2();
getChildFragmentManager().beginTransaction().add(R.id.frag2_frame, childFrag)
.addToBackStack(null)
.commit();
From fragment 2 to fragment 3
Frag3 childFrag = new Frag3();
getChildFragmentManager().beginTransaction().add(R.id.frag3_frame, childFrag)
.addToBackStack(null)
.commit();
onBackPressed in Activity
// a fragments list for tablayout
ArrayList<Fragment> fragments = new ArrayList<>();
public void onBackPressed(){
fragments.get(selectedTab).getChildFragmentManager().popBackStack();
}