Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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
Java 如何为抽屉栏中的项目添加单击事件_Java_Android_Xml_Navigation Drawer - Fatal编程技术网

Java 如何为抽屉栏中的项目添加单击事件

Java 如何为抽屉栏中的项目添加单击事件,java,android,xml,navigation-drawer,Java,Android,Xml,Navigation Drawer,所以基本上,我有一个应用程序正在开发中,它使用导航抽屉在所有活动中导航。我已经成功制作了抽屉,但里面的物品无法响应,无法带我参加相应的活动 这是my MainActivity.java的一部分,应该执行以下操作: NavigationView nv = (NavigationView)findViewById(R.id.nv1); nv.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSe

所以基本上,我有一个应用程序正在开发中,它使用导航抽屉在所有活动中导航。我已经成功制作了抽屉,但里面的物品无法响应,无法带我参加相应的活动

这是my MainActivity.java的一部分,应该执行以下操作:

NavigationView nv = (NavigationView)findViewById(R.id.nv1);

        nv.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {

            @Override
            public boolean onNavigationItemSelected(MenuItem menuItem) {
                switch (menuItem.getItemId()) {
                    case(R.id.btLogout):
                        logout();
                        Toast.makeText(MainActivity.this, "Logging Out", Toast.LENGTH_SHORT).show();
                        Intent in = new Intent(getApplicationContext(),LoginActivity.class);
                        startActivity(in);
                        break;
                    case(R.id.enquiries):
                        Intent in2 = new Intent(getApplicationContext(), EnquiryActivity.class);
                        startActivity(in2);
                        break;
                }
                return true;
            }
        });
    }

private void logout()
    {
        session.setLoggedIn(false);
        finish();
        startActivity(new Intent(MainActivity.this, LoginActivity.class));
    }
这是我的导航菜单.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/timetable"
        android:icon="@mipmap/ic_schedule_black_24dp"
        android:title="Timetable"></item>

    <item android:id="@+id/attendance"
        android:icon="@mipmap/ic_trending_up_black_24dp"
        android:title="Attendance"></item>

    <item android:id="@+id/weeklyreport"
        android:icon="@mipmap/ic_assignment_black_24dp"
        android:title="Weekly Report"></item>

    <item android:id="@+id/upcomingevents"
        android:icon="@mipmap/ic_event_black_24dp"
        android:title="Upcoming Events"></item>

    <item android:id="@+id/announcements"
        android:icon="@mipmap/ic_announcement_black_24dp"
        android:title="Announcements"></item>

    <item android:id="@+id/enquiries"
        android:icon="@mipmap/ic_person_black_24dp"
        android:title="Enquiries"></item>

    <item android:id="@+id/btLogout"
        android:icon="@mipmap/ic_highlight_off_black_24dp"
        android:title="Logout"></item>

</menu>


我能知道我哪里出错了吗?我是个新手,但我已经尽力了。感谢您的帮助。

尝试使用以下方法:

    NavigationView nv = (NavigationView)findViewById(R.id.nv1);

       nv.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {

                @Override
                public boolean onNavigationItemSelected(MenuItem menuItem) {
                    switch (menuItem.getItemId()) {
                        case(R.id.btLogout):
                            logout();
                            Toast.makeText(MainActivity.this, "Logging Out", Toast.LENGTH_SHORT).show();
                            startActivity(new Intent(MainActivity.this, LoginActivity.class));
                            break;
                        case(R.id.enquiries):
startActivity(new Intent(MainActivity.this, EnquiryActivity.class));
                            break;
                    }
                    return true;
                }
            });
        }