是否可以在不调用该方法的情况下将选定的微调器位置更改为某个值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
我调用
spinner.setSelection(previousSelection);
返回上一个选择,但这会再次创建我不想要的视图,因为我已经在视图中我只想表明我在微调器中的视图上