android switch语句中报出case expressions must be constant expressions
来源:互联网 发布:淘宝达人大v认证 编辑:程序博客网 时间:2024/05/21 06:45
今天在将android工程模块化(也就是将工程作为library)的时候,有个switch语句是这样写的:
红线部分报出了异常,但是其它地方照样可以正常使用R文件,引用里面的id。
疑惑之下看了看R文件中的内容,一个被定义为library的工程中R文件的id如下:
public static int call_dialog_in=0x7f040000; public static int call_dialog_out=0x7f040001; public static int dialog_in=0x7f040002; public static int dialog_out=0x7f040003; public static int enter_left_to_right=0x7f040004; public static int enter_right_to_left=0x7f040005; public static int exit_left_to_right=0x7f040006; public static int exit_right_to_left=0x7f040007; public static int from_top_in=0x7f040008; public static int from_top_out=0x7f040009; public static int in_righttoleft=0x7f04000a; public static int out_righttoleft=0x7f04000b; public static int scale_in=0x7f04000c; public static int scale_out=0x7f04000d;
在将该工程的libiary属性取消之后,也就是将工程android属性中的is library去掉再clean之后,再看看R文件的id定义,变成如下:
public static final int call_dialog_in=0x7f040000; public static final int call_dialog_out=0x7f040001; public static final int dialog_in=0x7f040002; public static final int dialog_out=0x7f040003; public static final int enter_left_to_right=0x7f040004; public static final int enter_right_to_left=0x7f040005; public static final int exit_left_to_right=0x7f040006; public static final int exit_right_to_left=0x7f040007; public static final int from_top_in=0x7f040008; public static final int from_top_out=0x7f040009; public static final int in_righttoleft=0x7f04000a; public static final int out_righttoleft=0x7f04000b; public static final int scale_in=0x7f04000c; public static final int scale_out=0x7f04000d;
对比一下就可以发现不是library的工程中id定义多了final属性,这就是问题出现的关键地方了。
修改方案就简单了,switch语句中不使用id作为case,或者需要这样用的部分不作为library使用。
0 0
- android switch语句中报出case expressions must be constant expressions
- android switch语句case expressions must be constant expressions
- android switch语句case expressions must be constant expressions
- android switch语句case expressions must be constant expressions
- android switch语句case expressions must be constant expressions
- android switch语句case expressions must be constant expressions
- Android switch语句报case expressions must be constant expressions
- Android switch语句“case expressions must be constant expressions”
- switch中出错:case expressions must be constant expressions
- android开发 switch语句编译报错“case expressions must be constant expressions”
- android import library switch语句报错case expressions must be constant expressions
- Android的Switch语句case expressions must be constant expressions错误的解决方法
- Android的Switch语句case expressions must be constant expressions错误的解决方法
- android case expressions must be constant expressions
- android 中 switch 时出现case expressions must be constant expressions
- android中 swich语句中的R文件出现case expressions must be constant expressions问题
- java switch 异常 case expressions must be constant expressions
- java中使用switch case报错case expressions must be constant expressions
- 内存数据库大明星:TimesTen配置数据源
- 管理支撑办公系统技术架构选型对比讨论(J2EE与SOA对比)
- MFC应用程序消息处理及其窗口创建和销毁过程函数调用顺序
- easyui datagrid自定义操作列
- 如何做到每天写代码?
- android switch语句中报出case expressions must be constant expressions
- highcharts动态刷新数据,得先清空上一个数据,不然会出现前一个图形和新数据的图形重合
- Nosql 8种Nosql数据库系统对比
- linux 书籍
- windows下TimesTen的配置及使用
- 二叉树的实现(2)链表
- MATLAB中将彩色的图像转化为灰度图像
- 访问者电脑的分辨率
- ASP.NET发送ICQ消息DIY