【发布时间】:2015-08-30 18:55:22
【问题描述】:
我有一个活动将使用以下方法动态添加片段。
FragmentTransaction transaction=getSupportFragmentManager().beginTransaction();
FragmentA fragmentA = new FragmentA();
transaction.add(R.id.fragment_container, fragmentA, "fragmentA");
transaction.addToBackStack("fragmentA");
transaction.commit();
FragmentA 有一个 TextView。我的活动中有一个导航抽屉,并且想要根据在导航抽屉中单击的项目在片段(例如 FragmentA、FragmentB 和 FragmentC)之间切换。更改为另一个片段时如何保存片段的状态。我已经实现了onSavedInstance(Bundle outState) 和onActivityCreated(Bundle savedInstanceState) 但savedInstanceState 始终为空。我希望能够在从 FragmentB 更改然后从 FragmentB 更改回 FragmentA 时保存 FragmentA 的字段。
按下退栈时我无法保存状态。似乎没有保存这些字段。
执行此操作的正确方法是什么?
【问题讨论】: