Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当我们使用addToBackStack()从一个片段切换到另一个片段时,如何打开上一个片段_Android_Android Fragments - Fatal编程技术网

Android 当我们使用addToBackStack()从一个片段切换到另一个片段时,如何打开上一个片段

Android 当我们使用addToBackStack()从一个片段切换到另一个片段时,如何打开上一个片段,android,android-fragments,Android,Android Fragments,我有两个片段——A和B 当我用片段B替换片段A时,如何从片段B返回片段A而不再次添加或替换片段A?请尝试以下代码:- @Override public void onBackPressed(){ FragmentManager fm = getFragmentManager(); if (fm.getBackStackEntryCount() > 0) { Log.i("MainActivity", "popping backstack");

我有两个片段——A和B

当我用片段B替换片段A时,如何从片段B返回片段A而不再次添加或替换片段A?

请尝试以下代码:-

@Override
public void onBackPressed(){
    FragmentManager fm = getFragmentManager();
    if (fm.getBackStackEntryCount() > 0) {
        Log.i("MainActivity", "popping backstack");
        fm.popBackStack();
    } else {
        Log.i("MainActivity", "nothing on backstack, calling super");
        super.onBackPressed();  
    }
}

我总是使用Popbackback

使用类扩展片段内部的支持库(Api 11类扩展片段内部:

    getActivity().getFragmentManager().popBackStackImmediate();//returns a boolean
对于类扩展活动,您不需要getActivity()上下文:


只需按后退按钮:)是否要以编程方式加载它…?是否要按按钮?而不是后退按钮?当我替换片段时,如何将替换的片段添加到addToBackStack()中,以便使用PopBacksack()@ManjuKumari无法做到这一点,当我替换片段时,您需要手动调用addbacksack agian到您的片段A如何将替换的片段添加到addToBackStack()中,以便我可以使用PopBacksack();快速提问,这是否比仅仅调用getActivity().onBackPressed()好@Zhuinden onbackpressed是一个关于活动的界面。它需要在片段所在的活动上实现。这些方法产生了类似的结果,见@Golu-answer。我只是觉得我的答案灵活而通用,因为它可以用于onBackPressed或任何点击事件(任何地方都有有效的上下文)。啊,这是有道理的,活动可以重新定义onBackPressed(),然后事情就不同了。
    getActivity().getFragmentManager().popBackStackImmediate();//returns a boolean
getFragmentManager().popBackStackImmediate();//similar for support library