如何在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 }