java - 避免在android中使用非常量表达式

标签 java android adt

自 ADT 14 以来有一个新事物,它称为非常量表达式:迁移必要。 这导致我不能做这样的事情:

TextView tv = (TextView) findViewById(R.id.text);

或者这个:

getRessources().getDrawable(R.drawable.icon);

我现在必须做什么才能让它发挥作用?

最佳答案

您必须重构您的代码,因为在库项目中,R 字段不再是常量(不是 final)。参见 http://tools.android.com/tips/non-constant-fields有关如何解决问题的详细信息和示例。

基本上,您需要将 switch 语句更改为 if-else,因为您无法切换非常量。

此外,这仅适用于图书馆项目。常规 android 项目不需要此更改。

在您进行更改后,请务必清理并刷新您的项目,因为一些错误/警告可能会持续存在。

关于java - 避免在android中使用非常量表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8579815/

相关文章:

java - 如何编写需要 Android 上下文的集成测试?

javascript - Android 7.0 不支持 jQuery 版本?

java - appcompat_v7 和每个 eclipse 项目中的错误

android - ADT Version 23(20140702) 以 Eclipse Juno 启动

c++ - 链表 C++ 中的复制构造函数

java - JSF f :ajax and IE 8

java - 如何保存一个非常复杂和庞大的数据处理状态?

java - 无法读取整个文件,仅读取一行

java - 有没有办法读取从 Firebase 下载的 Excel 文件?

android - android上的不确定圆形进度条是白色的,尽管colorAccent颜色