如何在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 }
- 限制的可调用的引用不与反应堆订阅
- Gradle同步失败:无法GET'https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1.3-2/kotlin-gradle-plugin-1.1.3-2.pom'
- Java活动不会在布局中显示任何视图
- 如何从Kotlin代码调用Javascript函数?
- Android Kotlin中的Moshi – 将ENUM作为MutableMap键在非集成化时转换为字符串
- 如果没有kotlin中的@ Provide-或@ Produces注解方法,则不能提供上下文
- Java与Kotlin接口声明
- 编写一个比Java更优雅的可复制接口
- 什么是更好的Android应用程序开发? 是kotlin还是java?