为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填充数据后设置默认值的问题相关推荐

  1. asp:DropDownList动态绑定数据,设置默认值

    绑定数据 设置DropDownList值绑定DataTable public void BindDropDownList(DropDownList ddlList){ddlList.Items.Cle ...

  2. android listpreference 自定义,android ListPreference 不显示内容 设置默认值

    通常每个APP都有一个设置界面,以前写设置界面,又要写布局,而且每个设置的内容我们还要用sharePreference自己写一套来管理保存.确实有点麻烦,现在好了,有一个叫做PreferenceSsc ...

  3. Elasticsearch 设置默认值的三种方式

    1.实战问题 在使用 Elasticsearch 过程中,不免还会有 Mysql 等关系型数据库的使用痕迹,以下两个都是实战开发问到的问题: Elasticsearch 新增字段,能在 Mapping ...

  4. 输入框input type=“text“(获取值、设置默认值)

    <input type="text" class="form-control" id="name" placeholder=" ...

  5. Android Preference 调用setDefaultValue设置默认值不生效;应该使用setValueIndex

    Android Preference 调用setDefaultValue设置默认值不生效:应该使用setValueIndex 如题,希望在ListPreference中设置一个默认值,且不能被设置为其 ...

  6. select2 ajax获取数据设置默认值,初始值

    select2是一个非常好用的select美化插件,但是在最近使用时发现,select2在使用ajax获取数据内容时设置默认值非常麻烦,官方给出了一个解决方案就是添加一个属性selected的opti ...

  7. Cascader 级联选择器如何根据给定的叶节点值设置默认值(数据回显)

    转载自:Cascader 级联选择器如何设置默认值(数据回显)_༺举个栗子吧༻的博客-CSDN博客_选择器设置默认值 官网cascader:https://element.eleme.cn/#/zh- ...

  8. mysql给字段设置默认值,以及mysql的严格模式

    一.背景 在插入数据库时,报错#1364,后来才知道是字段在创建的时候,没有设置默认值的原因.关于默认值,我们都知道设置默认值为0或者null的时候,就算我们不插入该字段,数据库也会自动按照默认值填充 ...

  9. mysql关于时间的面试题,mysql时间设置默认值MySQL常见面试题

    1.limit(选出10 到20 条) select * from students order by id limit 9,10; 2.MySQL 会使用索引的操作符号 =,>,=,betwe ...

最新文章

  1. 华为诺亚最新视觉Transformer综述
  2. 一位83岁独立开发者教会我的道理
  3. 子元素超出父元素宽高是否会报错?
  4. 2017.04.19 有趣的木楔原理图
  5. Python的__getattribute__ vs __getattr__的妙用
  6. ofbiz mysql 中文安装_ofbiz的部署及安装问题解决办法
  7. OpenCV cv::Mat::checkVector用法的实例(附完整代码)
  8. pytorch | Softmax->Log->NLLLoss->CrossEntropyLoss
  9. 解析软件系统稳定性的三大秘密
  10. SharePoint Excel Service-PowerShell
  11. 利用非循环顺序队列采用广度搜索法求解迷宫问题(一条路径)
  12. python 参数一样结果不一样_使用不同的参数多次调用同一个函数python
  13. mybatis 多数据源_SpringBoot+Mybatis配置多数据源及事务方案
  14. (Pr)Premiere Pro 2022 软件下载+Pr安装教程
  15. sql 主键 外键
  16. Python搭建QQ机器人,监控QQ发言与进群退群,自动@新成员并屏蔽脏话踢人
  17. DevOps :Jenkins pipeline + sonarQube 完成静态检测 + junit 覆盖率报告。
  18. 数据结构---线性表课后习题详解(朱昌杰编著)
  19. 云服务器上通过wget安装JDK
  20. OpenHarmony开发资料归档

热门文章

  1. js中常用方法以及document.readyState 判断页面是否加载完成 complete和interactive
  2. Helm 3 完整教程(七):Helm 函数讲解(1)逻辑和流控制函数
  3. MySQL 各类问题及解决办法汇总
  4. confluence 4.2 升级至 6.10.x 记录
  5. layUI提交多个相同name的值
  6. 错误代码:1120当前Hsql数据库已被另一线程锁定
  7. maya扇子动画_maya变形金刚全流程动画教学(永久有效)
  8. JavaScript数据类型之Boolean以及undefined和null(4)
  9. 计算机学情分析万能模板,信息技术的教学计划以及学情分析
  10. Python入门--列表元素的判断及遍历,判断指定元素在列表中是否存在,列表元素的遍历,