昨天在项目里导入项目作为library module时报错,提示Validates using resource IDs in a switch statement in Android library module,很奇怪,主module里也有这种写法啊,怎么就没报错,立马查了一下,看到答案的那一刻才想起来以前遇到过这个问题,看来好记性确实不如烂笔头啊,还是记录一下吧。

       首先,这句提示的意思是在android项目的library module里不能使用资源ID作为switch语句的case值。为什么呢?因为switch里的case值必须是常数,而在library module的R文件里ID的值不是final类型的,但是主module的R文件里的ID值是final类型的,所以主module里可以用资源ID作为case值而library module却不能。

那问题怎么解决呢?把switch-case转成if-else呗。

在Android Studio中选中switch,按Option+Return(Mac),Alt+Enter(Windows),选择Replace ‘switch’ witch ‘if’即可。

更多相关文章

  1. android类库常用类型解析:
  2. Android(安卓)Studio安装apk失败
  3. 从eclipse中导出项目到android studio。
  4. Android(安卓)Gradle 看这一篇就够了
  5. Android(安卓)Studio Wear Demo
  6. Android图形---硬件加速(Hardware Acceleration)(四)
  7. Android项目中打jar包 和 使用
  8. android实现滚动播放
  9. 在android中的ndk打印日志

随机推荐

  1. android定制对话框
  2. Android的SwitchCompat和Switch
  3. android 获取屏幕高度和宽度
  4. 参考注释郭霖老师的Android相机程序
  5. Android(安卓)Studio App LinearLayout多
  6. Android--WindowManager.LayoutParams(上
  7. android 获取网络上服务器图片
  8. Android(安卓)Studio3.0 Error:Execution
  9. android 模拟滑动事件
  10. android 记得用mkdirs不要用mkdir