Android Spinner填充数据后设置默认值的问题
为Spinner适配完数据后需要设置其默认选项,但是发现直接setSelection(int position)有时候不管用,打开选项又发现已经选中了,但是显示出来的选项又始终默认第一个。
问题很奇怪,此外还发现适配完数据后会默认选中第一个,并且这个默认选中第一个的操作并不是马上执行的,而是一段时候后再执行,并触发OnItemSelectedListener事件。
旧代码:
spinner.setAdapter(adapter); spinner.setSelection(2);
新代码:
spinner.setAdapter(adapter); spinner.setSelection(2,true);
在来看setSelection有两个参数的函数重载的说明:
setSelection(int position, boolean animate)
英文:Jump directly to a specific item in the adapter data.
中文:直接跳到数据适配器中指定项。
以下是两个函数的源代码:
/** * Jump directly to a specific item in the adapter data. */ public void setSelection(int position, boolean animate) { // Animate only if requested position is already on screen somewhere boolean shouldAnimate = animate && mFirstPosition <= position && position <= mFirstPosition + getChildCount() - 1; setSelectionInt(position, shouldAnimate); }
@Override public void setSelection(int position) { setNextSelectedPositionInt(position); requestLayout(); invalidate(); }
转载于:https://www.cnblogs.com/xiao-xu/p/3370418.html
Android Spinner填充数据后设置默认值的问题相关推荐
- asp:DropDownList动态绑定数据,设置默认值
绑定数据 设置DropDownList值绑定DataTable public void BindDropDownList(DropDownList ddlList){ddlList.Items.Cle ...
- android listpreference 自定义,android ListPreference 不显示内容 设置默认值
通常每个APP都有一个设置界面,以前写设置界面,又要写布局,而且每个设置的内容我们还要用sharePreference自己写一套来管理保存.确实有点麻烦,现在好了,有一个叫做PreferenceSsc ...
- Elasticsearch 设置默认值的三种方式
1.实战问题 在使用 Elasticsearch 过程中,不免还会有 Mysql 等关系型数据库的使用痕迹,以下两个都是实战开发问到的问题: Elasticsearch 新增字段,能在 Mapping ...
- 输入框input type=“text“(获取值、设置默认值)
<input type="text" class="form-control" id="name" placeholder=" ...
- Android Preference 调用setDefaultValue设置默认值不生效;应该使用setValueIndex
Android Preference 调用setDefaultValue设置默认值不生效:应该使用setValueIndex 如题,希望在ListPreference中设置一个默认值,且不能被设置为其 ...
- select2 ajax获取数据设置默认值,初始值
select2是一个非常好用的select美化插件,但是在最近使用时发现,select2在使用ajax获取数据内容时设置默认值非常麻烦,官方给出了一个解决方案就是添加一个属性selected的opti ...
- Cascader 级联选择器如何根据给定的叶节点值设置默认值(数据回显)
转载自:Cascader 级联选择器如何设置默认值(数据回显)_༺举个栗子吧༻的博客-CSDN博客_选择器设置默认值 官网cascader:https://element.eleme.cn/#/zh- ...
- mysql给字段设置默认值,以及mysql的严格模式
一.背景 在插入数据库时,报错#1364,后来才知道是字段在创建的时候,没有设置默认值的原因.关于默认值,我们都知道设置默认值为0或者null的时候,就算我们不插入该字段,数据库也会自动按照默认值填充 ...
- mysql关于时间的面试题,mysql时间设置默认值MySQL常见面试题
1.limit(选出10 到20 条) select * from students order by id limit 9,10; 2.MySQL 会使用索引的操作符号 =,>,=,betwe ...
最新文章
- 华为诺亚最新视觉Transformer综述
- 一位83岁独立开发者教会我的道理
- 子元素超出父元素宽高是否会报错?
- 2017.04.19 有趣的木楔原理图
- Python的__getattribute__ vs __getattr__的妙用
- ofbiz mysql 中文安装_ofbiz的部署及安装问题解决办法
- OpenCV cv::Mat::checkVector用法的实例(附完整代码)
- pytorch | Softmax->Log->NLLLoss->CrossEntropyLoss
- 解析软件系统稳定性的三大秘密
- SharePoint Excel Service-PowerShell
- 利用非循环顺序队列采用广度搜索法求解迷宫问题(一条路径)
- python 参数一样结果不一样_使用不同的参数多次调用同一个函数python
- mybatis 多数据源_SpringBoot+Mybatis配置多数据源及事务方案
- (Pr)Premiere Pro 2022 软件下载+Pr安装教程
- sql 主键 外键
- Python搭建QQ机器人,监控QQ发言与进群退群,自动@新成员并屏蔽脏话踢人
- DevOps :Jenkins pipeline + sonarQube 完成静态检测 + junit 覆盖率报告。
- 数据结构---线性表课后习题详解(朱昌杰编著)
- 云服务器上通过wget安装JDK
- OpenHarmony开发资料归档
热门文章
- js中常用方法以及document.readyState 判断页面是否加载完成 complete和interactive
- Helm 3 完整教程(七):Helm 函数讲解(1)逻辑和流控制函数
- MySQL 各类问题及解决办法汇总
- confluence 4.2 升级至 6.10.x 记录
- layUI提交多个相同name的值
- 错误代码:1120当前Hsql数据库已被另一线程锁定
- maya扇子动画_maya变形金刚全流程动画教学(永久有效)
- JavaScript数据类型之Boolean以及undefined和null(4)
- 计算机学情分析万能模板,信息技术的教学计划以及学情分析
- Python入门--列表元素的判断及遍历,判断指定元素在列表中是否存在,列表元素的遍历,