Oll*_*e C 31 android intellij-idea
Android应用程序使用库项目来包含大部分应用程序代码,因为有两个版本的应用程序是从核心源构建的.自从IntelliJ IDEA更新(到v11),我在下面的每个案例陈述中收到此警告:
Resource IDs cannot be used in a switch statement in Android library modules
Run Code Online (Sandbox Code Playgroud)
这是代码:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item_one: // Build error here
// Do stuff
return true;
case R.id.menu_item_two: // Build error here
// Do stuff
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Run Code Online (Sandbox Code Playgroud)
好的,如果我不能通过他们的ID引用它们,我该如何引用它们?
小智 69
switch
用if/else if
构造代替.
int id = item.getItemId();
if(id == R.id.menu_item_one) {
// ...
}
else if(id == R.id.menu_item_two) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
这是自ADT 14以来的必要条件,因为最终修饰符已从R类中的id中删除.
请参见案例标签中的非常量字段
归档时间: |
|
查看次数: |
6750 次 |
最近记录: |