android - 如何在单击按钮时清除 fragment 堆栈和 Activity 堆栈

标签 android android-fragments android-activity

有类似的问题,但没有一个能解决我的问题。 我的应用程序流程如下:

Activity home 启动 Activity B(执行设置工作) 在 Activity B 中,三个屏幕作为 fragment ...... fragment 1 -> fragment 2 -> fragment 3。

这就是我制作 fragment 的方式。我没有使用替换。只是添加它。

FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        Fragment fragment = null;
        if (getFragType().equals("simple")) {
            fragment = new SimpleFragment().newInstance();
        }
        if (getFragType.equals("inter")) {
            if (getFragType.getComponent().equals("con"))
                fragment = new SetupConFragment().newInstance();
            else if (getFragType.getComponent().equals("ben"))
                fragment = new SetupBenageFragment().newInstance();
        }
        fragmentTransaction.add(R.id.fragment_container, fragment);
        fragmentTransaction.commit();
        }

Fragment3 有一个完成按钮。因此,一旦从 fragment 3 开始完成所有 3 个步骤,我就会启动一个新 Activity C。

问题是:-- 在 Activity C 中,如果用户按下后退按钮,它会显示 fragment 2,然后是 fragment 1。理想情况下,一旦用户处于 Activity C 中,后退按钮应该只是退出屏幕 我已经使用了 Intent 标志的所有组合,但没有帮助。

这是我的按钮点击。

Intent launch = new Intent(mContext, MainActivity.class);
                    launch.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    launch.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    launch.putExtra("Exit me", true);
                    mContext.startActivity(launch);
                    ((ConfigureActivity)mContext).finish();

我们将不胜感激。

最佳答案

你可以这样做:

清除 fragment 堆栈:

getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); 

清除 Activity 堆栈:

Intent intent = new Intent(Your_Current_Activity.this, Your_Destination_Activity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK |Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

希望对您有所帮助。

关于android - 如何在单击按钮时清除 fragment 堆栈和 Activity 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31737013/

相关文章:

android - 按钮布局成一圈?

java - 如何向 Java 通用通配符列表添加元素

java - Android:从 Volley 回调中填充 fragment 中的 ListView

android - 运行应用程序并崩溃

Android addToBackStack 关闭应用

java - 停止观看 android - 暂停,然后开始并从它停止的地方开始

android - 在 Android 中使用 ImageViews 而不是按钮

安卓应用内结算 : Blank data received after purchase

android - 在 Android 上,哪种方式最适合服务在 OnResume 上与我的应用程序通信

java - 有关如何将位置连接代码从 Fragment 移动到 MainActivity 的提示?