前言
为Spinner适配完数据后需要设置其默认选项,但是发现直接setSelection(int position)有时候不管用,打开选项又发现已经选中了,但是显示出来的选项又始终默认第一个
正文
问题很奇怪,此外还发现适配完数据后会默认选中第一个,并且这个默认选中第一个的操作并不是马上执行的,而是一段时候后再执行,并触发OnItemSelectedListener事件。下面直奔主题:
旧代码:
spinner.setAdapter(adapter);
spinner.setSelection(2);
新代码:
spinner.setAdapter(adapter);
spinner.setSelection(2,true);
在来看setSelection有两个参数的函数重载的说明:
setSelection(intposition,booleananimate)
英文:Jump directly to a specific item in the adapter data.
中文:直接跳到数据适配器中指定项。
以下是两个函数的源代码:
/**
*Jumpdirectlytoaspecificitemintheadapterdata.
*/
publicvoidsetSelection(intposition,booleananimate){
//Animateonlyifrequestedpositionisalreadyonscreensomewhere
booleanshouldAnimate=animate&&mFirstPosition<=position&&
position<=mFirstPosition+getChildCount()-1;
setSelectionInt(position,shouldAnimate);
}
@Override
publicvoidsetSelection(intposition){
setNextSelectedPositionInt(position);
requestLayout();
invalidate();
}
结束
看起来像是专门准备了一个函数在数据适配(填充)完后设置默认值的,可惜API文档还没有翻译到这里,不然少走这个弯路了 :)
分享到:
相关推荐
功能:可以设置默认值,下拉选框自定义,显示框自定义 这是一个自定义控件使用非常简单,复制粘贴到项目可直接使用,可高度自定义
android 自定义spinner popupWindow 可以设置空默认值,也可设置默认值
每一个activity都是一种布局效果,其中包括下拉刷新,上啦加载更多,actionBar,模仿手机联系人布局,自定义spinner布局的使用
自定义spinner源码,挺不错的 ,有动画哦
android spinner的前面设置图标android spinner的前面设置图标android spinner的前面设置图标android spinner的前面设置图标android spinner的前面设置图标
简单的设置spinner默认的标题 例如“请选择”等等
修改spinner字体大小及颜色,及点击下拉列侯弹出的列表样式
本Demo演示了Spinner+ListView+GridView分别采用BaseAdapter填充内容 【简单易懂,含全注释】 注:创建版本为Android4.4.2
动态spinner
由于项目需求,最近在研究Spinner,发现系统自带的spinner的字体大小和颜色没法修改,于是查找资料实现修改系统自带Spinner字体大小和颜色的功能;并且该demo还实现了自定义Spinner样式以及实现hint的效果,本人第一...
NULL 博文链接:https://329716228.iteye.com/blog/1278903
自定义Spinner控件,实现多选(前人基础),在此基础上添加了全选逻辑
在spinner上添加删除项,删除选中的spinner选项,添加的新选项到spinner的最后一项,下拉框停留在新添加的好的选项上
对于android项目开发来说,常常会用到Spinner实现下拉框的效果。而对于Spinner加载适配器的方法有多种: 1.直接加载android自带的ArrayAdapter,SimpleAdapter; 2.自定义继承BaseAdapter的适配器。 对于适配器加载...
简单的做的spinner的demo,其中有spinner的样式和数据绑定到spinner上等
自定义Spinner实现初始为请选择之类的不参与列表的显示
Material Design风格的spinner
SpinnerTest 代码
spinner 加载时会默认执行一次,为了解决这个办法,引入了一个变量。 可以参考博客: http://blog.csdn.net/u011368551/article/details/41644381
Android spinner 案例Android spinner 案例Android spinner 案例