gpt4 book ai didi

android - 使用底部导航 View (如Youtube)处理堆栈

转载 作者:行者123 更新时间:2023-12-02 12:57:20 24 4
gpt4 key购买 nike

我有一个具有单个 Activity 和底部导航 View 的应用程序。

底部导航中有4个项目,所以我有4个片段。

我的问题是如何使用底部导航 View (如Youtube或Instagram)处理后置堆栈?

我正在使用Kotlin,这是我的代码:

  nav_view.setOnNavigationItemSelectedListener {
when (it.itemId) {
R.id.navigation_home -> {
replaceFragment(homeFragment)
true
}
R.id.navigation_projects -> {
replaceFragment(projectsFragment)
true
}
R.id.navigation_team -> {
replaceFragment(teamFragment)
true
}
R.id.navigation_contact -> {
replaceFragment(contactUsFragment)
true
}
else -> false
}
}

private fun replaceFragment(fragment: Fragment) {
supportFragmentManager.beginTransaction()
.replace(R.id.fragment_container, fragment)
.commit()
}

override fun onBackPressed() {
if (nav_view.selectedItemId == R.id.navigation_home) {
super.onBackPressed()
} else {
nav_view.selectedItemId = R.id.navigation_home
}
}

最佳答案

我认为您也需要像这样替换片段:

override fun onBackPressed() {
if (nav_view.selectedItemId == R.id.navigation_home) {
super.onBackPressed()
} else {
nav_view.selectedItemId = R.id.navigation_home
replaceFragment(homeFragment) // add this line
}
}

关于android - 使用底部导航 View (如Youtube)处理堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59810666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com