Fragment 中的 Fragment 不能保留它们的值
Posted
技术标签:
【中文标题】Fragment 中的 Fragment 不能保留它们的值【英文标题】:Fragments within a Fragment cannot retain their values 【发布时间】:2015-05-13 07:04:23 【问题描述】:我有一个活动,在那个活动中我有 2 个片段 A 和 B。
Fragment A 有一个 EditText 用于输入 Email。
片段 B 包含 2 个片段 B1 和 B2 可以使用底部的两个按钮进行选择片段 B。
B1 和 B2 包含一个 EditText,用于输入 Name 和 Number。
当我输入电子邮件、姓名和号码并在片段 A 和 B 之间切换时,电子邮件值保留但子片段 B1 和 B2 中的姓名和号码值会丢失。
是因为我在 B 中有嵌套的片段吗?
如何保留子片段 B1 和 B2 的值?
我是 android 新手,谁能推荐一个好的工作示例?
【问题讨论】:
这可能是相关的:***.com/questions/20550016/… 【参考方案1】:处理 2 个以上的片段总是很痛苦。
不是最好的解决方法:
尝试使用SharedPreferences
保存并显示姓名和编号,并在需要时重新加载整个活动,以便更改生效。
【讨论】:
因为我是 android 新手,所以我正在使用文本字段对其进行测试....实际上我将在片段 A 和 B 中显示 2 个不同的 ListView。而且我不想要我的列表视图放松价值观。 你是否使用标签在片段之间切换? 我从左侧滑入的菜单中选择 Fragment A 和 B,而 Fragment B 底部有两个按钮,您可以在子片段 B1 和 B2 之间切换。 我找到了 2 个解决方案,但不知道哪一个有效,所以希望得到您的建议,请查看链接,感谢您的帮助。 ***.com/questions/29275746/… 在我的项目中,我经常使用“替换”来更改片段并最终遇到很多问题。所以我会说第一个解决方案。以上是关于Fragment 中的 Fragment 不能保留它们的值的主要内容,如果未能解决你的问题,请参考以下文章
当 ViewPager 中的 Fragment 从 BackStack 保留时 WebView 重新加载
导航到 Jetpack Navigation 中的另一个 Fragment 后将 DialogFragment 保留在 backstack 中
理解 Fragment 的 setRetainInstance(boolean)