5

我的问题一般在这个问题中描述: 一劳永逸,如何正确地将片段的实例状态保存在后台堆栈中?

但我不明白接受的答案与它有什么关系。

为了简短起见:

  1. 有2个片段A和B。

  2. 我使用 transaction.replace() 从 A 转到 B 并将事务添加到 backstack。

  3. 我旋转屏幕 - > 片段 A 不可见,但它的 onSaveInstanceState 被调用 - 到目前为止一切正常。

  4. 我再次旋转屏幕。再次调用 A 的 onSaveInstanceState,但现在它的视图不存在,所以我无法保存它的状态。

正如公认的答案所暗示的,使用 getFragment/putFragment 的目的是什么?当我的片段在后台堆栈中时,我想保持对它的引用是没有意义的。谢谢。

4

0 回答 0