android中switch语句无法使用R.id.xxx的解决办法
时间: 2023-12-12 07:03:03 浏览: 242
在Android开发中,R.id.xxx是资源文件中的一个ID,不能直接在switch语句中使用。但是可以使用Java的枚举类型来代替R.id.xxx。具体步骤如下:
1. 在Java文件中创建一个枚举类型,每个枚举常量对应一个R.id.xxx。
```
public enum ViewId {
BUTTON1(R.id.button1),
BUTTON2(R.id.button2),
TEXTVIEW(R.id.textView);
private final int id;
ViewId(int id) {
this.id = id;
}
public int getId() {
return id;
}
}
```
2. 在switch语句中使用枚举类型,代替R.id.xxx。
```
switch (view.getId()) {
case BUTTON1:
// Do something for button1
break;
case BUTTON2:
// Do something for button2
break;
case TEXTVIEW:
// Do something for textView
break;
default:
break;
}
```
这样就可以在switch语句中使用R.id.xxx了。同时,使用枚举类型还可以增加代码的可读性和可维护性。
阅读全文