先上效果图
再先说实现方式,继承ArrayAdapter,重写getView方法,大概的代码是这样的,这些基本都是从ArrayAdapter里面复制出来的
现在开始说明实现过程
公司的产品叫我当选择车型在第一个的时候变成灰色,这样就类似于变成未选择状态,然后我的spinner是直接用ArrayAdapter实现的.
然后就网上查了一下实现方式,我也不太记得了,反正好像就是要自己写adapter,然后设置到spinner里面,但我记得我之前试过自己写adapter,但是实现出来的效果不是很好看,还是直接用ArrayAdapter比较好看和方便.然后我就想到了能不能看看ArrayAdapter里面是怎么实现的,然后抄过来,刚开始确实是打算自己写,后来想到可以直接继承ArrayAdapter,然后重写getView方法,大概看了ArrayAdapter的源码,感觉getView也和我们平时差不多.
那个view = ...inflate()这个是ArrayAdapter里面的一个私有参数,直接继承是用不了这个参数的,然后我大概看了一下源码,那个就是我们new ArrayAdapter里面的resId的那个参数,所以new的时候用哪个参数,这里就用哪个参数,其他的应该不用说了,也没什么难度