Android-由switch-case和view.getId()引起的bug:错误:需要常量表达式 的解决办法

无意中,使用按钮测试点击事件,在此过程中使用了switch case语句,在条件switch中使用了view.getId(),出现错误。我记得很早之前写Android程序没啥问题,于是研究了一番。
度娘一番才知道,是因为R文件的缘故。

在Android Gradle Plugin version 8.0中,资源id默认为非final,避免在switch case语句中使用它们。

解决办法有以下:

方法一:

将 switch case 语句换为 if else 语句。

在配置文件中加入 android.nonFinalResIds=false,忽略该错误,但是损失编译效率性能。

同时switch case会提示warning警告。

可以加上@SuppressLint("NonConstantResourceId") 注解消除 warning警告。

相关推荐
怣疯knight2 小时前
Windows不安装 Android Studio如何打包安卓软件
android·windows·android studio
ke_csdn2 小时前
从Java演变到Kotlin下的jet pack
android
wenzhangli72 小时前
在低代码设计中践行 Harness Engineering
android·低代码·rxjava
xingpanvip3 小时前
星盘接口开发文档:组合三限盘接口指南
android·开发语言·前端·python·php·lua
TechMix4 小时前
【fkw学习笔记】Android 13 AOSP 源码添加系统预置应用实战指南
android·笔记·学习
云起SAAS4 小时前
私域直播系统UniApp源码 多商户商城+直播带货 微信小程序+H5+安卓iOS
android·微信小程序·uni-app·私域直播系统
空中海4 小时前
01. 安卓逆向基础、环境搭建与授权
android
星河耀银海4 小时前
JAVA 泛型与通配符:从原理到实战应用
android·java·服务器
Ada大侦探4 小时前
新手小白学习数据分析01----数据分析师???& 数据分析思维学习
android·学习·数据分析
AI 编程助手GPT4 小时前
GPT-5.6意外曝光、Claude安全检查全面公测、Grok 4.3搅局价格战——多模型混战的五月,开发者如何避坑?
人工智能·gpt·ai·chatgpt·bug·ai编程