【问题标题】:How to add click event on navigation item drawer in android kotlin?如何在 android kotlin 的导航项抽屉上添加点击事件?
【发布时间】:2021-11-22 00:24:47
【问题描述】:

我想在单击导航抽屉中的一项时添加单击事件,我使用了 onNavigationItemSelected 方法但它不起作用,有什么帮助吗?

override fun onNavigationItemSelected(item: MenuItem): Boolean {
        TODO("Not yet implemented")
        val id = item.itemId


        if (id == R.id.nav_signout) {
            Toast.makeText(this, "Sign out",  Toast.LENGTH_SHORT).show()
        }

        return true
    }

抽屉.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:showIn="navigation_view">
    <group android:checkableBehavior="single">
      <item android:title="Authentication">
         <menu android:checkableBehavior="all">
                <item
                    android:id="@+id/nav_signout"
                    android:icon="@drawable/ic_menu_gallery"
                    android:title="Sign out" />

            </menu>
      </item>
    </group>
</menu>

【问题讨论】:

    标签: android kotlin navigation navigation-drawer


    【解决方案1】:

    由于您要覆盖 onNavigationItemSelected,我想您将 NavigationView.OnNavigationItemSelectedListener 直接实现到您的活动/片段。

    确保在创建时将其添加到导航中

    navigation_view.setNavigationItemSelectedListener(this)
    

    或者其他选项是将其直接实现到您的导航而不是活动/片段。删除您发布的代码和活动/片段实现,并像这样使用 kotlin lambdas

    navigation_view.setNavigationItemSelectedListener{
        TODO("Not yet implemented")
        val id = item.itemId
    
    
        if (id == R.id.nav_signout) {
            Toast.makeText(this, "Sign out",  Toast.LENGTH_SHORT).show()
        }
    
        return true
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-04
      相关资源
      最近更新 更多