我有一个活动,其中添加了两个片段:
fun addFragment(fragment: Fragment){
private val fragmentManager = supportFragmentManager
val fragmentTag = fragment::class.simpleName.toString()
val ft = fragmentManager.beginTransaction()
ft.add(R.id.fragments_container, fragment,fragmentTag)
ft.addToBackStack(fragmentTag)
ft.commit()
}
我按以下顺序将两个片段A和B添加到活动中: A ---> B
当我按电话上的后退按钮时,它会按预期的那样从B返回到A
但是问题是,例如,当我单击视图时调用活动的 onBackPressed 方法时:
imgBack.setOnClickListener {
onBackPressed()
}
它不像我按手机上的后退按钮时一样工作
它会返回片段A,但未按预期显示片段A的视图。
onBackPressed:
override fun onBackPressed() {
if (fragmentManager.backStackEntryCount > 1) {
fragmentManager.popBackStack()
} else {
finish()
}
}
答案 0 :(得分:0)
如果您imgBack
正在fragmentB
通话中
imgBack.setOnClickListener {
activity?.onBackPressed()
}