底部导航图标仅在单击两次后才会更改颜色?

时间:2020-07-23 14:18:17

标签: java android kotlin bottomnavigationview android-bottomnavigationview

当我单击一个图标时,除非再次单击它,否则它不会更改颜色,它将转到活动,但只有第一个图标保持突出显示。我必须再次单击它才能更改颜色。我的代码有什么问题?

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
} }

2 个答案:

答案 0 :(得分:1)

您正在使用活动。使用片段。我认为它将解决。

答案 1 :(得分:1)

您为每个项目使用不同的活动。
您必须使用以下方法处理活动中的选定项目:

navigationBar.setSelectedItemId(R.id.nav_explore)