簡體   English   中英

如何在 android kotlin 中的導航項抽屜上添加點擊事件?

[英]How to add click event on navigation item drawer in android kotlin?

當我單擊導航抽屜中的一項時,我想添加單擊事件,我使用了 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>

由於您正在覆蓋 onNavigationItemSelected 我想您將NavigationView.OnNavigationItemSelectedListener直接實現到您的活動/片段。

確保在創建時將其添加到導航中

navigation_view.setNavigationItemSelectedListener(this)

或者其他選擇是將其直接實現到您的導航而不是活動/片段。 刪除您發布的代碼和活動/片段實現,並像這樣使用 kotlin lambda

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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM