新版AndroidStudio使用switch-case语句时出现Constant expression required错误

原因:

在新版的Android Studio中使用JDK17以上版本,会出现switch语句报错"Constant expression required"的问题,这是因为在JDK17中switch语句的条件表达式支持使用枚举类型,而这个特性还没有被支持。

解决方法:

①在gradle.properties配置文件下添加代码(推荐,最简便)

复制代码
android.nonFinalResIds=false

②替换为if-else语法

③降低jdk版本(不推荐,新版AS强制要求jdk版本)

④使用枚举替换(写法比较麻烦,仅供参考)

创建一个枚举类

在Activity中声明成员变量

然后,将枚举类型与按钮关联起来。你可以使用Map来将按钮的资源ID与枚举类型进行映射。在Activity的onCreate方法中,或者Fragment的onCreateView方法中,进行如下操作:

最后,在你的Activity或Fragment中实现onButtonClick方法,根据枚举类型来执行相应的逻辑:

相关推荐
2501_916008891 天前
Web 前端开发常用工具推荐与团队实践分享
android·前端·ios·小程序·uni-app·iphone·webview
我科绝伦(Huanhuan Zhou)1 天前
MySQL一键升级脚本(5.7-8.0)
android·mysql·adb
怪兽20141 天前
Android View, SurfaceView, GLSurfaceView 的区别
android·面试
龚礼鹏1 天前
android 图像显示框架二——流程分析
android
消失的旧时光-19431 天前
kmp需要技能
android·设计模式·kotlin
帅得不敢出门1 天前
Linux服务器编译android报no space left on device导致失败的定位解决
android·linux·服务器
雨白1 天前
协程间的通信管道 —— Kotlin Channel 详解
android·kotlin
TimeFine1 天前
kotlin协程 容易被忽视的CompletableDeferred
android
czhc11400756631 天前
Linux1023 mysql 修改密码等
android·mysql·adb
GOATLong1 天前
MySQL内置函数
android·数据库·c++·vscode·mysql