Android 碎片每次返回后都会刷新
Android fragments refresh every time after returning back to them
这一定很简单,但我以前从未使用过片段,所以我在这里迷路了。
我搜索并发现了很多关于碎片的东西,但我找不到问题的答案。
在我的主 activity 上,我有一个带有 5 个按钮的子菜单,基本上是一个 LinearLayout。
我有一个包含 5 个片段的列表。
当我按下按钮时,我希望看到五个片段之一。
如果我使用 FragmentTransaction.replace() 添加片段,则每次都会重新创建片段。一切都刷新了,这不是我想要的。如果我通过按后退按钮 return 到片段,视图也会刷新。
我不知道如何 "not to refresh" 碎片。我尝试使用 hide/show,但在某些时候我失去了对 backstack 的跟踪,因此我无法实现后退按钮行为。
如有任何帮助,我们将不胜感激。谢谢
我想你的意思是 FragmentTransaction.replace()。考虑编辑您的问题。
无论如何,当您更改片段时,总是会重新创建视图。您的工作是通过实施 onSavedInstanceState() 将所需信息保存在 Bundle 中,然后在 onCreateView() 中检索信息。
这一定很简单,但我以前从未使用过片段,所以我在这里迷路了。
我搜索并发现了很多关于碎片的东西,但我找不到问题的答案。
在我的主 activity 上,我有一个带有 5 个按钮的子菜单,基本上是一个 LinearLayout。
我有一个包含 5 个片段的列表。
当我按下按钮时,我希望看到五个片段之一。
如果我使用 FragmentTransaction.replace() 添加片段,则每次都会重新创建片段。一切都刷新了,这不是我想要的。如果我通过按后退按钮 return 到片段,视图也会刷新。
我不知道如何 "not to refresh" 碎片。我尝试使用 hide/show,但在某些时候我失去了对 backstack 的跟踪,因此我无法实现后退按钮行为。
如有任何帮助,我们将不胜感激。谢谢
我想你的意思是 FragmentTransaction.replace()。考虑编辑您的问题。
无论如何,当您更改片段时,总是会重新创建视图。您的工作是通过实施 onSavedInstanceState() 将所需信息保存在 Bundle 中,然后在 onCreateView() 中检索信息。