【发布时间】:2021-01-21 14:53:14
【问题描述】:
我有以下问题:我有一个用 Kotlin 编写的 android 应用程序。
应用程序有两个活动。 从第一个导航到第二个,如下所示:
val intent = Intent(firstActivity, SecondActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK
startActivity(intent)
firstActivity?.finish()
在第二个活动中,我像这样覆盖 onBackPressed 方法:
override fun onBackPressed() {
val count = supportFragmentManager.backStackEntryCount
if(count == 0) {
// Dialog to ask the user if he want to quit the application
else{
super.onBackPressed()
}
}
但是当我每次在第二个活动中按下后退按钮时,BackStack 的计数为 0。 当我删除 if 语句并仅调用 super.onBackPressed() 时,Activity 中的片段被设置回最后一个片段,因此我假设 BackStack 正在工作。 如何获取 BackStackCount 的值?
编辑:在我的两个活动中,我都有多个片段。
感谢您的帮助!
【问题讨论】:
-
你能提供一个片段交易的例子吗?
标签: java android kotlin android-activity back-stack