我收到了这个错误,并尽一切可能消除它(删除动画解决了我的问题(。因此,当我从一个片段移动到另一个片段时,出现了这个错误,但在过渡时,我添加了进入/退出动画。当我在片段A上并移动到片段B时,在动画和应用程序崩溃之间按下即时后退按钮。
val navOptionBuilder = NavOptions.Builder().apply {
setEnterAnim(R.anim.slide_in_right)
setExitAnim(R.anim.slide_out_left)
setPopEnterAnim(R.anim.slide_in_left)
setPopExitAnim(R.anim.slide_out_right)
} // *without animation it works fine*
findNavController().graph.addDestination(navDestination)
findNavController().navigate(navDestination.id, bundle, navOptionBuilder.build())
崩溃消息
Fragments-指定的子级已经有一个父级。您必须首先对孩子的父级调用removeView((
buildToolsVersion‘28.0.3’
由于动画的原因,我遇到了与您相同的问题,并且我的基础Fragment中onDestroyView
方法中的这段代码修复了崩溃的
override fun onDestroyView() {
if (rootView.parent != null){
(rootView.parent as ViewGroup).endViewTransition(rootView)
}
super.onDestroyView()
}