Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 nav抽屉中的返回声明是什么意思?_Java_Android_Switch Statement_Navigation Drawer - Fatal编程技术网

Java nav抽屉中的返回声明是什么意思?

Java nav抽屉中的返回声明是什么意思?,java,android,switch-statement,navigation-drawer,Java,Android,Switch Statement,Navigation Drawer,我有一个导航抽屉,里面有一个监听器 我对每个菜单项使用switch case语句,当单击某个项时,它会在每个case块中运行代码 但我不明白的是结尾的return语句,我读了一些帖子,他们使用return false;和其他人使用返回真;最后 我应该用什么 mNavigationView5.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Overr

我有一个导航抽屉,里面有一个监听器

我对每个菜单项使用switch case语句,当单击某个项时,它会在每个case块中运行代码

但我不明白的是结尾的return语句,我读了一些帖子,他们使用return false;和其他人使用返回真;最后

我应该用什么

mNavigationView5.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull final MenuItem item) {
            switch (item.getItemId()){
                case R.id.ic_edit:
                    //code for editing.
                    break;
                case R.id.ic_info:
                    //code for info.
                    break;
                case R.id.ic_remove:
                    //code for removing.
                    break;
            }
            return false; // should i return true here or false?
        }
    });

您应该返回true以将项目显示为所选项目。查看此处以获取更多参考-

您应该返回true以将项目显示为所选项目。更多参考请看这个-

是的,我想是的,但是为什么这里的一些帖子会返回false?甚至youtube教程也会返回false,这让我有点困惑。如果不想处理所选项目事件,则返回false。简单来说,处理事件时返回true,否则返回false。因此,从这些事件侦听器返回true将停止事件向其他事件侦听器的传播,并将阻止对视图中默认事件处理程序的回调。因此,请确保您希望在返回true时终止事件。但是,当我在末尾返回true时,我仍然可以右键单击另一项并运行该代码?例如,我单击编辑项,返回并单击信息项?是的,您将能够。但那将是另一件事。返回真/假将决定当前事件的命运。是的,我想,但为什么这里的一些帖子返回假?甚至youtube教程也会返回false,这让我有点困惑。如果不想处理所选项目事件,则返回false。简单来说,处理事件时返回true,否则返回false。因此,从这些事件侦听器返回true将停止事件向其他事件侦听器的传播,并将阻止对视图中默认事件处理程序的回调。因此,请确保您希望在返回true时终止事件。但是,当我在末尾返回true时,我仍然可以右键单击另一项并运行该代码?例如,我单击编辑项,返回并单击信息项?是的,您将能够。但那将是另一件事。返回真/假将仅决定当前事件的命运。