如何在Android上使用Kotlin在BottomNavigationView上设置OnNavigationItemListener?

我使用kotlin-android-extension,我可以从layout文件调用bottomNavigationView id到kotlin文件。 我可以使用bottomNavigationView.setOnNavigationItemSelectedListener(BottomNavigationView.OnNavigationItemSelectedListener {}) ,但接下来呢?

据我所知在Java中,有另一个名为onNavigationItemSelected函数,但我无法在kotlin中find它。

这是我想在Java中使用的示例代码,但不能写在kotlin中。

 bottomNavigationView.setOnNavigationItemSelectedListener( new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.action_favorites: case R.id.action_schedules: case R.id.action_music: } return true; } }); 

你可以使用这种格式的代码:

 bottomNavigation.setOnNavigationItemSelectedListener { item -> when (item.itemId) { R.id.action_favorites -> { } R.id.action_schedules -> { } R.id.action_music -> { } } return true } 

使用必须添加注释才能返回lambda

  bottomNavigation.setOnNavigationItemSelectedListener { item -> when(item.itemId){ R.id.home -> {} R.id.group -> {} R.id.profile -> {} } return@setOnNavigationItemSelectedListener true }