我的问题一般在这个问题中描述: 一劳永逸,如何正确地将片段的实例状态保存在后台堆栈中?
但我不明白接受的答案与它有什么关系。
为了简短起见:
有2个片段A和B。
我使用 transaction.replace() 从 A 转到 B 并将事务添加到 backstack。
我旋转屏幕 - > 片段 A 不可见,但它的 onSaveInstanceState 被调用 - 到目前为止一切正常。
我再次旋转屏幕。再次调用 A 的 onSaveInstanceState,但现在它的视图不存在,所以我无法保存它的状态。
正如公认的答案所暗示的,使用 getFragment/putFragment 的目的是什么?当我的片段在后台堆栈中时,我想保持对它的引用是没有意义的。谢谢。