Oll*_*e C 31 android intellij-idea
Android应用程序使用库项目来包含大部分应用程序代码,因为有两个版本的应用程序是从核心源构建的.自从IntelliJ IDEA更新(到v11),我在下面的每个案例陈述中收到此警告:
Resource IDs cannot be used in a switch statement in Android library modules
这是代码:
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);
    }
}
好的,如果我不能通过他们的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) {
    // ...
}
这是自ADT 14以来的必要条件,因为最终修饰符已从R类中的id中删除.
请参见案例标签中的非常量字段
| 归档时间: | 
 | 
| 查看次数: | 6750 次 | 
| 最近记录: |