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 @   星锋  阅读(752)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示