【发布时间】:2016-05-04 22:40:09
【问题描述】:
我有一个 Activity 架构,我在 MainActivity 中的另一个 ViewGroup 中加载了一个 PreferenceFragmentCompat。 MainActivity 中存在自定义导航,因此您可以使用片段加载ViewGroup,并在同一个MainActivity 中导航离开它。
我第一次导航到ViewGroup 时,PreferenceFragmentCompat 加载得非常好。但是,当我离开包含 PreferenceFragmentCompat 的 ViewGroup 并再次返回时,PreferenceFragmentCompat 不会在随后出现。 ViewGroup 可以,但是片段应该在的地方是空的。我可以通过断点/日志看到片段正在经历其生命周期——它只是不可见。
每次我导航回ViewGroup 时,都会创建一个包含ViewGroup 和一个新PreferenceFragmentCompat 对象对的新对象,因此它不应附加到旧ViewGroup。导航架构过于复杂,无法在此处发布,但这是我每次在包含 ViewGroup 的类中添加片段的方式:
CustomPreferenceFragment fragment = new CustomPreferenceFragment();
FragmentManager fm = activity.getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.fragment_frame_container, fragment);
ft.commit();
有人知道为什么片段可能没有显示吗?
【问题讨论】:
标签: android android-layout android-fragments android-appcompat preferencefragment