本文介绍了如何在 Fragments 中实现 onBackPressed()?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有一种方法可以让我们在 Android Fragment 中实现 onBackPressed() 类似于我们在 Android Activity 中实现的方式?

Is there a way in which we can implement onBackPressed() in Android Fragment similar to the way in which we implement in Android Activity?

由于 Fragment 生命周期没有 onBackPressed().是否有其他替代方法可以覆盖 Android 3.0 片段中的 onBackPressed()?

As the Fragment lifecycle do not have onBackPressed(). Is there any other alternative method to over ride onBackPressed() in Android 3.0 fragments?

推荐答案

我以这种方式解决了在 Activity 中覆盖 onBackPressed 的问题.所有的 FragmentTransaction 在提交前都是 addToBackStack :

I solved in this way override onBackPressed in the Activity. All the FragmentTransaction are addToBackStack before commit:

@Override
public void onBackPressed() {

    int count = getSupportFragmentManager().getBackStackEntryCount();

    if (count == 0) {
        super.onBackPressed();
        //additional code
    } else {
        getSupportFragmentManager().popBackStack();
    }

}

这篇关于如何在 Fragments 中实现 onBackPressed()?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-07 05:47