navigationView侧滑菜单menu中item设置

续上篇,

android中使用NavigationView实现抽屉界面

接下来就是给 NavigationView menu里面的item添加点击事件

这是item_menu的XML文件内容:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    >
    <group
        android:id="@+id/grp1"
        android:checkableBehavior="single">
        <item
            android:id="@+id/item_setting"
            android:title="个人设置"
            />

        <item
            android:id="@+id/item_theme"
            android:title="更改主题"
            />

        <item
            android:id="@+id/item_love"
            android:title="个人收藏"
            />
    </group>

    <group android:id="@+id/grp2"
        android:checkableBehavior="single">
        <item android:id="@+id/item_share"
            android:title="分享到"
            />
    </group>

    <group android:id="@+id/grp3"
        android:checkableBehavior="single">
        <item android:id="@+id/tuichu"
            android:title="退出登录"
            />
    </group>


</menu>

 

JAVA文件内容

//侧边栏 NavigationView 事件监听
        navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {

                item.setChecked(false); //设置选项是否选中
                item.setCheckable(false); //设置选项是否可选

                switch (item.getItemId()){
                    case R.id.item_setting:
                        alert_info();
                        break;
                        //Toast.makeText(MainActivity.this,"个人设置",Toast.LENGTH_LONG).show();

                    case R.id.tuichu:
                        if(message){
                            new AlertDialog.Builder(MainActivity.this)
                                    .setTitle("退出登录")
                                    .setMessage("确定退出?")
                                    .setNegativeButton("取消",null)
                                    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                                        @Override
                                        public void onClick(DialogInterface dialog, int which) {
                                            //Toast.makeText(MainActivity.this,"确定退出",Toast.LENGTH_LONG).show();
                                            logout();
                                        }
                                    }).show();
                        }else{
                            alert_info();
                        }


                        break;


                }

                return false;
            }
        });

这部分是项目代码的内容,可以先将无关的内容注释掉,直接使用 Toast进行测试效果

posted @ 2022-04-24 23:54  星锋  阅读(734)  评论(0编辑  收藏  举报