onItemSelected
メソッドを呼び出さずに、選択したスピナーの位置を何かに変更することは可能ですか?
基本的に私がやろうとしているのは、選択するとダイアログが表示されるため、スピナーで以前に選択したアイテムに戻ることです。ユーザーが戻るボタンを押すと、スピナーは、ダイアログが閉じられたときにダイアログを表示する位置にいることを示します。
それで、元に戻すときに呼び出されないようにする方法はありますか、spinner.setSelection(position)
またはダイアログを示す位置が選択されたままにならないようにする方法はありますか?
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
switch(arg2){
case 0:
previousSelection = 1;
mNavButtonClick.onNavButtonClick(1);
break;
case 1:
previousSelection = 2;
mNavButtonClick.onNavButtonClick(2);
break;
case 2:
previousSelection = 3;
mNavButtonClick.onNavButtonClick(3);
break;
case 3:
previousSelection = 4;
mNavButtonClick.onNavButtonClick(4);
break;
case 4:
previousSelection = 5;
mNavButtonClick.onNavButtonClick(5);
break;
case 5:
//this case shows the dialog
mNavButtonClick.onNavButtonClick(6);
break;
default:
break;
}
}
ダイアログが表示されたら、ユーザーは [戻る] ボタンをクリックしてダイアログを閉じ、onDismiss
I call で
spinner.setSelection(previousSelection);
前の選択に戻りますが、これは私が望んでいないビューを再度作成します。私はすでにビューにいるので、スピナーのビューにいることを示したいだけです