ViewPager によって管理されるいくつかのタブを持つアクティビティがあります。また、ユーザーが [戻る] ボタンをクリックしたときにアクティビティが閉じないようにしたいタブが 1 つあります。代わりに、上位レベルのデータをロードします。
したがって、 FragmentActivity の私のコードは次のようになります
@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();
}
}
そしてそれは機能します-アクティビティは終了せず、フラグメントが表示されますが、フラグメントのgetActivity()はnullを返します。onDetach、onStop、onDestroy、.. のいずれもフラグメントで起動されませんでした。
この問題を克服する方法はありますか?