我有一个由 ViewPager 管理的带有几个选项卡的 Activity。当用户单击 BACK 按钮时,我想在其中一个选项卡上阻止关闭活动。相反,它加载上层数据。
所以我在 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、.. 都没有在片段中触发。
有没有办法克服这个问题?