Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 导航视图菜单项不存在';我对任何点击都没有反应_Android_Kotlin_Navigation Drawer_Menuitem_Navigationview - Fatal编程技术网

Android 导航视图菜单项不存在';我对任何点击都没有反应

Android 导航视图菜单项不存在';我对任何点击都没有反应,android,kotlin,navigation-drawer,menuitem,navigationview,Android,Kotlin,Navigation Drawer,Menuitem,Navigationview,我想知道我的代码有什么问题,因为我点击菜单项时没有任何响应 class Main : AppCompatActivity() , NavigationView.OnNavigationItemSelectedListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.ac

我想知道我的代码有什么问题,因为我点击菜单项时没有任何响应

class Main : AppCompatActivity() , NavigationView.OnNavigationItemSelectedListener {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)


        setSupportActionBar(mainToolbar)

        supportActionBar?.title = ""
        val toolbarToggle = ActionBarDrawerToggle(this,DrawerLayout,mainToolbar,R.string.drawer_open,R.string.drawer_close)
        DrawerLayout.addDrawerListener(toolbarToggle)
        toolbarToggle.syncState()

        mainNavigView.setNavigationItemSelectedListener(this)

    }

    override fun onNavigationItemSelected(item: MenuItem): Boolean {
        var titleT = item.title
        Toast.makeText(this,titleT, Toast.LENGTH_LONG).show()
        return true
    }

}
这是用于导航和抽屉的xml代码


<androidx.drawerlayout.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/DrawerLayout"
    android:background="@color/spark_bg"
    tools:context=".Main">

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/mainNavigView"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:headerLayout="@layout/navigationheader"
        app:menu="@menu/navigationmenu"
         />

这是包含我要按的项目id的菜单项代码

<menu xmlns:android="http://schemas.android.com/apk/res/android">
            <item
                android:id="@+id/myOrdersMI"
                android:icon="@drawable/ic_list"
                android:title="My Orders"
                />

</menu>

要使用
抽屉布局
,请将您的主要内容视图定位为第一个子视图,其宽度和高度为
匹配父视图
,无



发布您的layout@GabrieleMariottiDoneit有效,但当我移除布局时,它覆盖了主要活动components@AhmadAl-Maghrabi您在哪个视图中删除了布局重力?我从导航视图中删除了布局重力,我没有在抽屉布局中使用它view@AhmadAl-玛格拉比为我的不好感到抱歉。答案不清楚。不要从NavigationView(检查更新的答案)中删除android:layout\u gravity,而是从第一个子项(主内容)中删除。主内容中不存在android:layout\u gravity
    <androidx.drawerlayout.widget.DrawerLayout
       ...>

        <!-- main content goes here -->

        <!-- NavigationView -->
        <com.google.android.material.navigation.NavigationView
            android:layout_gravity="start|left"
            ../>

    </androidx.drawerlayout.widget.DrawerLayout>