java - 底部导航图标仅在单击两次时更改颜色?
问题描述
当我点击一个图标时,它不会改变颜色,除非我再次点击它,它会进入活动,但只有第一个图标保持突出显示。我必须再次单击它才能使图标更改颜色。我的代码有什么问题?
class ProfileActivity : BaseActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_profile)
val navigationBar = findViewById<BottomNavigationView>(R.id.navigation_bar)
navigationBar.setOnNavigationItemSelectedListener(navigation_bar)
}
private val navigation_bar = BottomNavigationView.OnNavigationItemSelectedListener { item ->
when (item.itemId) {
R.id.nav_profile -> {
// startActivity(Intent(this@ProfileActivity, ProfileActivity::class.java))
return@OnNavigationItemSelectedListener true
}
R.id.nav_explore -> {
startActivity(Intent(this@ProfileActivity, ExploreActivity::class.java))
return@OnNavigationItemSelectedListener true
}
R.id.nav_store -> {
startActivity(Intent(this@ProfileActivity, StoreActivity::class.java))
return@OnNavigationItemSelectedListener true
}
R.id.nav_board -> {
startActivity(Intent(this@ProfileActivity, BoardActivity::class.java))
return@OnNavigationItemSelectedListener true
}
}
false
} }
解决方案
您正在使用活动。使用片段。我认为它会得到解决。
推荐阅读
- android - Infinite loop or idle code in IntentService class of Android
- java - Autodesk forge 提取几何 RVT -> OBJ 导致错误请求错误
- spring - 如何在 Spring Boot 中使用 Medium 平台?
- vb.net - How to give a "ctrl + " shortcut key for a button in vb.net
- angular - Angular ngrx + Firebase OAuth 操作已调用但效果不
- codeception - 各种环境的代码接收配置?(产品、开发等)
- syntax-error - 将断言子句与 where 子句结合起来
- python - Pipenv 与 Conda?
- c# - 如何将 WPF 控件文本绑定到布尔值,并对 xaml 中的文本做出决定
- r - 像 Excel 一样绘图