【发布时间】:2014-02-24 01:37:34
【问题描述】:
在主要活动ActivityA 中,我将FragmentA 替换为片段FragmentB。从FragmentB,用户可以开始一个新的活动ActivityB。通过点击ActivityB 中的返回按钮,ActivityA 将显示为FragmentA。我期待看到FragmentB 的最后状态。我是否必须单独保存以前活动的状态才能提供此行为?
ActivityA(FragmentA) -> ActivityA(FragmentB) -> ActivityB
BACK
ActivityA(FragmentB)
在主要活动中,我使用以下方式设置当前片段:
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.a_main_frame_content, new FragmentB())
.addToBackStack(null)
.commit();
从片段中我开始一个新的活动:
Intent intent = new Intent(getActivity(), ActivityB.class);
getActivity().startActivity(intent);
ActivityA 被设置为ActivityB 的父活动以提供正确的导航。
[UPDTATE] 问题似乎在于向后导航和向上导航的不同行为。如果我向后导航,则活动将显示为其最后状态,而向上导航会强制重新创建活动。
【问题讨论】:
-
你能发布活动完整代码吗?
-
我的解决方案对你有用吗?
标签: android android-fragments navigation state