Android小技巧:Spinner默认值设置为空
程序员文章站
2022-07-04 18:50:20
...
Android小技巧:Spinner默认值设置为空
前言
android系统给我们提供了很好用的spinner控件,而且也满足了我们大部分的需求。但是在实际应用的过程中,我们经常发现有这样的需求,就是spinner默认值为空,只有用户选择了某项值之后,才会显示具体的某个值。但是原谅我太菜,我没有在spinner找到设置默认值为空的方法。所以 这里就手撸了一个简单的方法。
思路
我们通过查看spinner的源码,发现spinner为viewgroup。那么我们显示的默认值,肯定就是spinner的子元素。我们只需要手动控制spinner子元素的显示与否就行了。
实践
既然有了记录,那么代码也很简单了
public void setUserPosition(String userPosition) {
int selectIndex=-1;
for (int i=0;i<userPositionArray.length;i++){
if (userPositionArray[i].equals(userPosition)){
selectIndex=i;
break;
}
}
if (selectIndex<0) {
//如果没有找到对应的值,则显示为空白
spinnerUserPosition.getChildAt(0).setVisibility(View.INVISIBLE);
} else {
//如果找到对应的值,则显示子元素
spinnerUserPosition.getChildAt(0).setVisibility(View.VISIBLE);
spinnerUserPosition.setSelection(selectIndex);
}
}
这就是一个给spinner设置值的方法,userPositionArray就是spinner对应的数组。相信聪明的你,上面代码一定能看懂