片段没有显示它第二次使用

时间:2016-05-04 22:40:09

标签: android android-layout android-fragments android-appcompat preferencefragment

我有一个Bundle架构,我在Activity中的另一个PreferenceFragmentCompat内加载ViewGroupMainActivity中存在自定义导航,因此您可以使用片段加载MainActivity,并在同一ViewGroup内将其全部导航。

我第一次导航到MainActivity时,ViewGroup加载完全正常。但是,当我离开包含PreferenceFragmentCompat的{​​{1}}然后再返回时,ViewGroup不会显示后续时间。 PreferenceFragmentCompat会这样做,但片段应该是空的。我可以看到断点/记录片段正在经历其生命周期 - 它只是不可见。

每次导航回PreferenceFragmentCompat时,都会创建一个包含ViewGroup和新ViewGroup对象对的新对象,因此它不应该附加到旧{{} {1}}。导航架构太复杂了,无法在此处发布,但这里是我每次在包含PreferenceFragmentCompat类中添加片段的方式:

ViewGroup

有没有人知道为什么片段可能不会出现?

1 个答案:

答案 0 :(得分:1)

我发现了这个问题。这比我想象的要简单得多。由于每次都会创建一个新的ViewGroup,因此该片段在被新ViewGroup替换之前会被添加到旧R.id.fragment_frame_container中,因为它们都包含ViewGroup视图。解决方案是,如果它已经存在,每次都不会创建新的[low, high)