【发布时间】:2019-12-07 08:42:41
【问题描述】:
我有一个活动,其中添加了两个片段:
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()
}
}
【问题讨论】:
-
尝试
super.onBackPressed()点击图片并删除自定义实现。 -
@Ranjan 我试过但没用
标签: android android-fragments fragment-backstack