当我在父Activity中覆盖onBackPressed时,getActivity()在片段中返回null

时间:2013-06-13 07:55:11

标签: android android-fragments android-fragmentactivity android-context

我有一个由ViewPager管理的少量标签的活动。并且有一个选项卡,当用户单击“返回”按钮时,我希望阻止关闭活动。相反,它会加载更高级别的数据。

所以我在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,..都没有在片段中被触发。

有没有办法克服这个问题?

0 个答案:

没有答案