今天在使用spinner控件时,编辑的数据的时候需要回显原来选中数据,经过查看系统方法发现不能直接设置值,只能通过setSelection选中数据源数组中下标来做数据的回显操作。但是我重置数据后需要对Spinner选项中值设置为空的时候,怎么都没找到相应的方法。这个时候经过查看源码,发现spinner继承自viewgroup。那么就需要控制spinner的子元素的显示与否来控制了。下面就是设置默认值或者设置空的代码。如有好的方法希望各位码友分享
public void spinnerDefaultValue(String value) {
int selectIndex=-1;
for (int i=0;i<arr.size();i++){
if (arr.get(i).equals(value)){
selectIndex=i;
break;
}
}
if (selectIndex<0) {
//若是没有找到对应的值,则显示为空白
spinner.getChildAt(0).setVisibility(View.INVISIBLE);
} else {
//若是找到对应的值,则显示子元素
spinner.getChildAt(0).setVisibility(View.VISIBLE);
spinner.setSelection(selectIndex);
}
}
网友评论