【发布时间】:2012-07-25 11:30:47
【问题描述】:
对于我的 Android 项目,我准备了一个专用类来监听 onClick()、onTouch() 和 onItemSelected() 事件(它是 MVC 的控制器),并且屏幕上有几个 Spinner 对象。在这种情况下,当触发事件时,算法必须知道 1) 选择了哪个 Spinner 和 2) 选择了哪个 Item。因此,它会产生如下的嵌套开关。
@Override
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
switch(parent.getId()) {
case R.id.spn1:
switch (position) {
case 0:
// code
break;
case 1:
// code
break;
case 2:
// code
break;
}
break;
case R.id.spn2:
switch (position) {
case 0:
// code
break;
case 1:
// code
break;
case 2:
// code
break;
}
break;
case R.id.spn3:
switch (position) {
case 0:
// code
break;
case 1:
// code
break;
case 2:
// code
break;
}
break;
default:
}
}
下面发布的示例已经让我很头疼。我肯定很想知道是否有一些方法(也许是使用 OOP)来避免这种大混乱。
【问题讨论】:
标签: android spinner switch-statement