无意中,使用按钮测试点击事件,在此过程中使用了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警告。