我已经尝试了很多解决方案,但是当位置对于微调器来说是可变的(即不是恒定的)时 setSelection(position) 不起作用。
以下是我尝试过的方法,所有方法都是在 setAdapter for spinner 之后编写的。
此外,我在调用此方法之前检查了 pos 变量值,该方法具有预期的值,但是在所有情况下,我都得到了第 0 个位置的默认元素。
1)通过使用处理程序:
int pos=getPos(); // some method to return default position to be displayed for spinner
new Handler().postDelayed(new Runnable() {
public void run() {
clinicListSpinner.setSelection(pos,true);
}
}, 100);
2)设置动画参数为真:
clinicListSpinner.setSelection(position,true);
3)设置动画参数为假:
clinicListSpinner.setSelection(position,false);
4)正常设置调用:
clinicListSpinner.setSelection(position);
在 android 4.1 上没有什么对我有用
但是当我将硬编码或常量值发送到变量时,它在上述所有情况下都很好用
e.g. clinicListSpinner.setSelection(1,true);
我已经搜索了很多,但没有得到任何解决我的问题的方法,请帮助我。提前致谢