片段声明的目标片段不属于此 FragmentManager - Android
Posted
技术标签:
【中文标题】片段声明的目标片段不属于此 FragmentManager - Android【英文标题】:Fragment declared target fragment that does not belong to this FragmentManager - Android 【发布时间】:2020-05-21 02:41:55 【问题描述】:我在我的DaggerFragment
中使用AppCompatDialogFragment
,但是运行我的应用时出现以下错误:
java.lang.IllegalStateException: Fragment CourseTypeListDialogFragmentab0b7f3 (3d65d8c0-5c75-4b92-8002-1852a8aa58b7) declared target fragment CoursesFragmente2a5105 (e277e6f4-7e61-4114-8eb4-d0143a07ac0c) id=0x7f0800cc that does not belong to this FragmentManager!
我像下面这样打开它:
@OnClick(R.id.btnCourseType)
fun btnCourseTypeClick()
val fm = activity!!.supportFragmentManager
val courseTypeListDialogFragment =
CourseTypeListDialogFragment()
courseTypeListDialogFragment.setCancelable(false)
courseTypeListDialogFragment.setStyle(
DialogFragment.STYLE_NO_TITLE,
0
)
courseTypeListDialogFragment.setTargetFragment(this@CoursesFragment, 1)
courseTypeListDialogFragment.show(fm, "")
【问题讨论】:
可能重复:***.com/questions/47045788/… 【参考方案1】:您没有将片段添加到片段管理器中
fm.beginTransaction().replace(R.id.someFrame, courseTypeListDialogFragment).commitAllowingStateLoss()
只有这样你才能在这个片段上使用show()
、hide()
【讨论】:
【参考方案2】:我删除了courseTypeListDialogFragment.setTargetFragment(this@CoursesFragment, 1)
,现在做得很好。
【讨论】:
以上是关于片段声明的目标片段不属于此 FragmentManager - Android的主要内容,如果未能解决你的问题,请参考以下文章
html 有关如何在任何页面上插入Nuvo Express按钮的小片段。此按钮居中对齐,并在新窗口中打开目标URL。