有类似的问题,但是没有一个解决我的问题。
我的应用程序流程如下:
主页 Activity 启动 Activity B(负责设置工作)
在 Activity B 中作为片段托管了三个屏幕...
Fragment1 -> Fragment2 -> Fragment3。
这就是我创建片段的方式。我没有使用 replace,而是添加它们。
这就是我创建片段的方式。我没有使用 replace,而是添加它们。
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有一个完成按钮。因此,一旦从第三个片段完成了所有三个步骤,我将启动一个新的C活动。
问题是:-- 从活动C中,如果用户按下返回按钮,它会显示片段2,然后是片段1。理想情况下,一旦用户进入C活动,返回操作应该只退出屏幕 我使用了所有意图标志的组合,但这并没有帮助。
这是我的按钮点击事件。
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();
非常感谢您的帮助。