【android工程转为lib工程后提示'R.id.xxx不能作为case语句的表达式'的解决办法】
2013-08-02 15:52
399 查看
bill最近完成了一个普通的android工程,但之后想对其进行重构以在其他android工程中使用。于是将该工程转换为android library库工程。于是麻烦来了,编译报错,库中 R.id.xxx 不能作为 case 分支的表达式。
费了半天力,结果是因为 ADT r14 之后,android工程转换为android library时,ADT自动生成的R文件中的id字段不再以 final static int 修饰,而仅仅是一个 static int,因此也难怪 case 语句发牢骚。
解决办法也很简单,将所有switch(id) ... case R.id.xxx: 的语句替换为等价的 if...else... 语句即可。
本文出自 “Bill_Hoo专栏” 博客,请务必保留此出处http://billhoo.blog.51cto.com/2337751/1262981
费了半天力,结果是因为 ADT r14 之后,android工程转换为android library时,ADT自动生成的R文件中的id字段不再以 final static int 修饰,而仅仅是一个 static int,因此也难怪 case 语句发牢骚。
解决办法也很简单,将所有switch(id) ... case R.id.xxx: 的语句替换为等价的 if...else... 语句即可。
本文出自 “Bill_Hoo专栏” 博客,请务必保留此出处http://billhoo.blog.51cto.com/2337751/1262981
相关文章推荐
- android library工程中使用switch_case语句,调用资源文件的id出现错误的原因分析及解决方法
- 在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案
- eclipse新建android工程提示android.support.v7错误的解决办法
- 举例android项目中的string.xml出现这个The character reference must end with the ';' delimiter.错误提示的原因及解决办法
- 关于android工程下不能运行java main程序的解决办法
- Eclipse导入Android工程时提示invalid project description的解决办法
- 在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案
- 在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案
- Eclipse 编译 Android工程时,提示该错误 :Error generating final archive: Debug certificate expired on xxxxxx(日期) 解决办法
- android工程下不能运行java main程序的解决办法
- 在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案
- 在Android库中不能使用switch-case语句访问资源ID
- android工程下不能运行java main程序的解决办法
- eclipse新建android工程提示android.support.v7错误的解决办法
- android工程下不能运行java main程序的解决办法
- Android开发异常篇:运行工程出现:Connection with adb was interrupted错误提示以及解决办法
- 解决Android工程提示缺少gen/R.java或者无法找到已有控件id的方法
- android工程下不能运行java main程序的解决办法
- 在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案