I have an Activity with few tabs managed by ViewPager. And there is one tab where i'd like to prevent closing activity when users click BACK button. Instead it loads upper level of data.
So my code in FragmentActivity looks like this
@Override
public void onBackPressed() {
boolean allowQuit = true;
if (mTabsAdapter != null){
if(mTabsAdapter.getItem(mTabsAdapter.selectedTab) instanceof backPressOverrider){
allowQuit = ((backPressOverrider)mTabsAdapter.getItem(mTabsAdapter.selectedTab)).onCustomBackPressed();
}
}
if (allowQuit) {
super.onBackPressed();
}
}
And it works - activity not finished and I see my fragment, but getActivity()in my fragment returns null. None of onDetach,onStop, onDestroy,.. was fired in fragment.
Is there any way to overcome this problem?