2017-09-26 77 views
0

我在一个活动中有几个片段。当我在它们之间切换时,我想保存片段的状态。但是活动不会重新创建,并且onSaveInstanceState不会调用。我可以以某种方式保存包,例如,在?保存碎片状态

+0

可能重复[一次为所有人,如何正确保存Fragments的实例状态回栈?](https://stackoverflow.com/questions/15313598/once-for-all-how-to-correctly-save -instance-state-of-fragments-in-back-stack) – 0X0nosugar

回答

0

每次创建新片段时都要使用这样的方法addToBackStack()

if (fragment == null) { 
     fragment = new MyFragmentClass(); 
     manager.beginTransaction() 
       .add(R.id.your_fragment_id, fragment) 
       .addToBackStack(null) 
       .commit(); 
    } 

片段将在提交后被记住,并且在稍后弹出堆栈时将反转其操作。

+0

但如果我想要在捆绑包中保存更多数据该怎么办? – sandeor30r