私の 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 を使用して) あるかどうかを知りたいです。