在原来的ADT版本里,在gen目录下的R.java文件中,对于常量的声明是:
public static final int main = 0x7f030004;
在ADT 14.0里,却是这样声明的:
public static int main=0x7f030004;
这样会造成以下语句不会编译通过:
int id = view.getId();
switch (id) {
case R.id.button1:
action1();
break;
case R.id.button2:
action2();
break;
case R.id.button3:
action3();
break;
}
解决方法是将switch语句改为if-else语句:
int id = view.getId();
if (id == R.id.button1) {
action1();
} else if (id == R.id.button2) {
action2();
} else if (id == R.id.button3) {
action3();
}
Eclipse下switch转if-else的快捷键:Ctrl-1
官网原文: