Android 添加带有标记的片段是否会导致它们在其父级被销毁时不会被销毁?
我有一个android应用程序,它使用一个活动和多个片段动态构建ui 基本活动中有一个简单的线性布局,但没有任何内容(BaseActivity) 我添加了一个片段,其中只包含一个抽屉布局,其中包含一个操作栏、一个框架布局和一个导航栏(BaseFragment) 为此,我添加了两个片段中的一个,一个以列表的形式显示所有子片段(SerialFragment),另一个以向导样式显示(WizardFragment) 其中每一个都可以添加一个(对于向导)或多个(对于列表)片段(QuestionFragment) 当我离开BaseActivity时,会调用BaseFragment的onDestroy(),但不会调用任何子片段的onDestroy() 我像这样添加子片段Android 添加带有标记的片段是否会导致它们在其父级被销毁时不会被销毁?,android,android-fragments,Android,Android Fragments,我有一个android应用程序,它使用一个活动和多个片段动态构建ui 基本活动中有一个简单的线性布局,但没有任何内容(BaseActivity) 我添加了一个片段,其中只包含一个抽屉布局,其中包含一个操作栏、一个框架布局和一个导航栏(BaseFragment) 为此,我添加了两个片段中的一个,一个以列表的形式显示所有子片段(SerialFragment),另一个以向导样式显示(WizardFragment) 其中每一个都可以添加一个(对于向导)或多个(对于列表)片段(QuestionFragme
FragmentTransaction trans = parent.getFragmentManager().beginTransaction();
set_default_animation(trans); //this just adds a custom animation
trans.replace(R.id.wizard_content, QuestionFragment.NewInstance(),question_id.toString()); //in case of a wizard
trans.add(R.id.list_content,QuestionFragment.NewInstance(), question_id.toString());//in case of a list
trans.commit();
BaseFragment(被销毁)与其他的唯一区别在于,在其他的片段中,我向它们添加了一个标记(section_id或question_id),这样我就可以使用findFragmentByTag检索它们
然而,当用户离开活动时,只调用BaseFragment的onDestroy()
这是因为,这个片段是我唯一没有使用标记添加的片段吗
注意,我没有使用支持片段管理器(普通的),所以我使用标记来定位我想要的片段,因为不支持片段管理器不包含getFragments()
还要注意,我没有在上述任何片段上将retaininstance标志设置为true
我可以通过移除标记和添加对父对象上片段的引用来测试上述内容,但这意味着需要进行大量重构,如果这不是问题的话,我希望避免进行重构
提前感谢您提供的任何帮助在重构所有内容之后,似乎标签不是问题所在(尽管我仍然删除了它们) 对我来说,修复它的是使用getChildFragmentManager()而不是getFragmentManager()来更新gui 这样,当基本视图被破坏时,其子视图也将被删除 希望它能帮助别人