Android开发Android技术知识Android开发经验谈

Android 模块化开发switch-case中用资源ID报错

2018-09-27  本文已影响40人  AntDream

今天在项目的一个模块中写click事件时,发现用switch-case会报错:"Resource IDs cannot be used in Android Library..."

根据错误提示,大意是在Library中Resource IDs不是常量。打开Library的R文件一看:

public final class R {
    public static final class anim {
        public static int abc_fade_in = 0x7f010001;
        public static int abc_fade_out = 0x7f010002;
        ...
    }
    ...
}

结果发现还真是这样,所有int都没有final修饰。

解决办法也简单,就是把switch-case替换成if-else。

这里再分享一个快捷键,可以一键将switch-case转换成if-else的形式:

  1. 先将光标移到switch的前面
  2. 然后用option + 回车键,就可以转换为if-else了

                       欢迎关注我的微信公众号,和我一起每天进步一点点!
AntDream
上一篇 下一篇

猜你喜欢

热点阅读