[Android]为Spinner填充数据后设置默认值的问题
2023-09-14 09:00:58 时间
前言
为Spinner适配完数据后需要设置其默认选项,但是发现直接setSelection(int position)有时候不管用,打开选项又发现已经选中了,但是显示出来的选项又始终默认第一个,本文为文章1的中文简单译本。
文章
1. Using spinner.setSelection finding the spinner doesnt show the selected item when closed?
声明
欢迎转载,但请保留文章原始出处:)
博客园:http://www.cnblogs.com
农民伯伯: http://www.cnblogs.com/over140/
正文
问题很奇怪,此外还发现适配完数据后会默认选中第一个,并且这个默认选中第一个的操作并不是马上执行的,而是一段时候后再执行,并触发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();
}
结束
看起来像是专门准备了一个函数在数据适配(填充)完后设置默认值的,可惜API文档还没有翻译到这里,不然少走这个弯路了 :)
转载:http://www.cnblogs.com/over140/archive/2010/09/25/1834469.html
相关文章
- Android开发之Gson解析Json嵌套数据
- Android sendevent/getevent 用法
- Android数据存储(一)----SharedPreferences详解
- android上拉下拉加载更多数据
- Android获取 应用程序大小,数据大小,缓存大小
- 10、Android数据存储
- 【第三篇】学习 android 事件总线androidEventbus之list数据事件的传递,发送list数据事件到另外一个Activity
- Android获取 应用程序大小,数据大小,缓存大小
- Android--向SD卡读写数据
- Android:通过MQTT实现用户端与服务器数据双向传输
- Android init.rc启动shell脚本
- Android Recovery 源码解析和界面定制
- Android报错: exposed beyond app through Intent.getData()
- Android实现TCP发送,可发送多条数据
- Android kotlin 系列讲解(基础篇) 枚举类(enum)、数据类(data)和密封类(sealed)与java的写法差异
- Android 10.0修改默认亮度默认音量最大音量最小音量默认铃声
- 【Android 逆向】修改运行中的 Android 进程的内存数据 ( 运行环境搭建 Android 模拟器安装 | 拷贝 Android 平台可执行文件和动态库到 /data/system )
- 【Android 逆向】代码调试器开发 ( ptrace 函数 | 读取进程内存数据 )
- 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )
- 【Android 逆向】Android 系统文件分析 ( 根目录下的目录和文件 | /data/ 应用和用户数据目录 | /mnt/ 挂载其它设备目录 )
- android自己定义ViewPager之——3D效果应用
- Android微信数据导出
- Android 手机自动化测试工具有哪几种?
- Android API Level对应Android版本一览表
- Appium----基于Windows系统安装Android SDK
- Android开发之利用MediaCodec 获取视频的sps pps 和视频数据
- Android系统信息获取 之十一:获取IMEI,IMSI号
- Android Binder Debug(八十一)