有时,`switch-case`语句的报错可能是由于代码格式或语法错误引起的。例如,缺少分号、括号不匹配、缩进不正确等。解决方法:仔细检查代码格式和语法,确保它们符合Java的语法规则。三、深入排查和解决问题 如果以上方法都不能解决你的`switch-case`语句报错问题,那么你可能需要进行更深入的排查。以下是一些建议:1. ...
但在使用switch-case语句的时候,在case语句后面总是有下划波浪线(我一直以为是我代码有问题),但所有代码逻辑都是正常的。报错信息为:Constant expression required。如下图所示: 下划红色波浪线 报错信息:Constant expression required 解决方法:在gradle.properties配置文件下添加代码: android.nonFinalResIds=...
解决如下:project--->properties--->android--->library--->勾掉is library--->apply--->ok 原因分析:adnroid项目之间引用 刚被引用项目设置成is library后R文件中的变量fianl全部丢失具体什么原因不清楚,项目设置成is library后switch() 判断控件提示: case expressions must be constant expressions 得知case 必...
解决方案很简单:将switch语句转换为if-else语句。幸运的是,这在Eclipse中非常容易。只需将插入符号放在switch关键字上,然后按Ctrl-1(或在Mac上为Cmd-1): Android Studio快捷键switch case 轻松转换为if else 选中“switch”,ALt+Enter(或在Mac上为Option+Return)同时选中,弹出对话框,选择“Replace 'switch' with ...
当我们在Android依赖库中使用switch-case语句访问资源ID时会报如下图所示的错误,报的错误是case分支后面跟的参数必须是常数,换句话说出现这个问题的原因是Android library中生成的R.java中的资源ID不是常数: library error 打开library中的R.java,发现确实如此,每一个资源ID都没有被声明为final: libr...
刚才导入android zxing 条码 的demo测试,发现出现如下错误case expressions must be constant expressions经检查,项目被设置成library了,在project.properties 文件中将android.library=true这一句删去
switch case语句与if elseif语句类似,都是从多个选择条件里选取一个来执行。 (一)先来看一个if ...
Android工程作为库时(isLibrary),switch case出错的原因 —— R.java中变量的final前缀 http://blog.csdn.net/wchinaw/article/details/7325641 ADT 14 以后才有这个问题。 另外,Google提供的一个方法就是把它转化为if-else语句,即在switch语句处 Ctrl+1 然后可以替换成if-else.语句...
Step-4:发现报错已经消失,但是变成了 warning,报错信息的翻译如下,说的是 因为资源 id 不是用 final 修饰的,所以会带来编译效率的降低,不太建议使用,这个也确实是很有道理的,但是我选择无视这个风险。 在Android Gradle Plugin version 8.0中,资源id默认为非final,避免在switch case语句中使用它们。(Ctrl + F1)...