Android小技巧:Spinner默认值设置为空

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对应的数组。相信聪明的你,上面代码一定能看懂

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值