Android 使用后退图标或操作栏上的图标为用户提供导航
getActionBar().setDisplayHomeAsUpEnabled(true);
和 AndroidManifest.xml 有
<!--
since 4.0
android:parentActivityName=".MainActivity" >
-->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".activity.MainActivity" />
现在,如果我的活动有 3 个片段 1-2-3,如何启用后退导航返回 3->2->1 ?
当用户按下后退时,如何转到上一个片段,而不是活动?
您可以按名称弹出片段。在将片段添加到后堆栈时,只需为它们命名即可。
fragmentTransaction.addToBackStack("fragB");
fragmentTransaction.addToBackStack("fragC");
然后在Fragment_C中,使用名称 ie.. fragB 弹出后堆栈并包含POP_BACK_STACK_INCLUSIVE
someButtonInC.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fm = getActivity()
.getSupportFragmentManager();
fm.popBackStack ("fragB", FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
});
请注意,应用程序中可能有多个可访问的片段。因此,您需要一个强大且可靠的解决方案。我在 GitHub 中的相关代码管理片段后退堆栈页面上找到了一个完整且解释性的解决方案。