【发布时间】:2018-11-20 23:50:16
【问题描述】:
我有一个activity,三个fragment,这就是生命周期:
- 打开应用(加载活动)
- 按下按钮(加载片段 A)
- 按另一个按钮(加载片段 B)
活动 -> 片段 A -> 片段 B
我想要的是,如果我按下 Fragment B 中的后退按钮,它会向我显示 Activity
我该怎么做?
现在,如果我按下后退按钮,它会显示 Fragment A
编辑: 这就是我称之为片段 B 的方式
public void changeFragment(Fragment fragment, boolean addToBackStack) {
if (fragment != null) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.addToBackStack(null);
ft.replace(R.id.content_frame, fragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.commit();
}
【问题讨论】:
-
不需要您的 addToBackStack 布尔值,因为它没有被使用。
-
我知道。但这不是问题,即使使用此代码,当我按下后退按钮 @miguelarc 时,Fragment A 仍然显示
-
此函数是否替换了您在活动中调用片段 A 时使用的同一 ID?
-
您有更多关于片段交易的信息here。检查片段替换部分
-
是的,正在替换相同的 id。 @miguelarc
标签: android android-fragments android-activity