Android 从活动返回特定片段

Android 从活动返回特定片段,android,android-fragments,navigation-drawer,Android,Android Fragments,Navigation Drawer,我正在开发一个基于片段的应用程序,主要活动实现幻灯片导航。我有三个片段,“A”,“B”,“C”,假设我从“B”片段遍历到一个独立的活动。当我试图从活动返回时,它将我降落在“A”片段上,我想从我遍历到活动的地方返回到相同的片段 我正在使用下面的代码处理片段 if (fragment != null) { FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction

我正在开发一个基于片段的应用程序,主要活动实现幻灯片导航。我有三个片段,“A”,“B”,“C”,假设我从“B”片段遍历到一个独立的活动。当我试图从活动返回时,它将我降落在“A”片段上,我想从我遍历到活动的地方返回到相同的片段

我正在使用下面的代码处理片段

if (fragment != null) {
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.replace(R.id.container_body, fragment);
        fragmentTransaction.commit();

    }

如何做到这一点?

您正在处理的问题在Android中非常常见,他们已经在一篇文章中解释过


因此,基本上,您希望使用
BackStack
,但对于您的特定问题,有另一种解决方案:当您移动到其他活动时,原始活动(包含B)基本上没有被破坏,因此,您可以做的是在该活动中放置状态(包含A、B和C的活动),并且,你从你的独立活动中回来,你的
onResume
将被触发,你只需覆盖它,让它显示你想要的片段。

查看我下面的代码

   @Override
        public void onBackPressed() {
            super.onBackPressed();
            FragmentManager fm = getSupportFragmentManager();

            if (fm.getBackStackEntryCount() == 1) {

            //your code goes here

            } else if (fm.getBackStackEntryCount() > 1) {
                fm.popBackStack();
                //your code goes here

            } else {
               fm.popBackStack();
                //your code goes here
            }
        }

计算已跨越的片段的返回数,如果需要任何帮助,请对其进行注释

您需要使用popBackStack和Backstack entry count重定向到您想要的位置您可以告诉我使用此项的代码和位置吗?如何放置状态?我会执行类似于活动的枚举状态{FRAGMENT_A,FRAGMENT_B,FRAGMENT_C}然后在父
活动中有一个
活动状态
,每次调用
FragmentManager