美文网首页Android开发Android技术知识Android开发经验谈
Android 模块化开发switch-case中用资源ID报错

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

作者: AntDream | 来源:发表于2018-09-27 22:59 被阅读40次

今天在项目的一个模块中写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

相关文章

网友评论

    本文标题:Android 模块化开发switch-case中用资源ID报错

    本文链接:https://www.haomeiwen.com/subject/kfoyoftx.html