|
1
|
| TheLettuceMaster · 技术社区 · 12 年前 |
|
|
1
1
答案在很大程度上取决于你是如何管理碎片的。 我假设您没有使用Fragment backback,并且您已经对每个片段调用了setRetainInstance(true)。 当你附加碎片时,你需要使用一个标签。 在活动#onSaveInstanceState()中,您需要记住哪些片段是可见的。 在活动#onCreate中,您需要通过标记为每个片段找到现有的片段,然后为找不到的任何片段创建新的实例。现在,您可以使用保存的实例状态中的信息使适当的片段可见(根据代码管理片段的方式,根据需要显示、添加或替换) 针对问题/评论进行编辑:
使用setRetainInstance时,实际的片段对象(包括其内容)仍然存在。 注意:如果您不想使用标记,也可以使用片段管理器的putFragment/getFragment方法将片段放入实例状态捆绑包中。 最后,您可以通过调用FragmentManager的saveFragmentInstanceState来简单地让片段保存自己,但我在正确使用它时遇到了问题。 |
|
Murilo · Jetpack编写导航栏项目图标 1 年前 |
|
|
KolaYAndr · 活动RESULT_OK似乎从未发生过 1 年前 |
|
psycho_pat · Android应用程序中的权限 1 年前 |
|
|
FarazFiroz · 如何将argb转换为描述性文本颜色 1 年前 |
|
Daniel · Unity Android游戏支持的设备数量太少 1 年前 |