Android Spinner下拉框的基本使用
时间:2022-07-23
本文章向大家介绍Android Spinner下拉框的基本使用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Spinner提供了从一个数据集合中快速选择一项值的办法。默认情况下Spinner显示的是当前选择的值,点击Spinner会弹出一个包含所有可选值的dropdown菜单,从该菜单中可以为Spinner选择一个新值。
静态增删
1、先获取spinner
spinnerItems = (Spinner) findViewById(R.id.spinnerItems);
2、在res文件夹下新建array.xml
3、在array.xml添加
<string-array name="spinnerclass">
<item>c语言</item>
<item>java </item>
<item>php</item>
<item>xml</item>
<item>html</item>
</string-array>
4、在布局文件xml的Spinner下添加:
android:entries="@array/spinnerclass"
5、运行app,即可自动加载列表进去
动态增删
1、先获取spinner
spinnerItems = (Spinner) findViewById(R.id.spinnerItems);
2、绑定adapter
adapter = new ArrayAdapter<String>(this,R.layout.support_simple_spinner_dropdown_item);
spinnerItems.setAdapter(adapter);
3、添加一项
adapter.add(msg);
4、清空全部
adapter.clear();
5、选择一项
SpItemSelected = spinnerItems.getSelectedItem().toString();
6、移除一项
adapter.remove(SpItemSelected);
静态+动态 增删
1、先完成 静态增删 的步骤
2、建立数据源
String[] mItems = getResources().getStringArray(R.array.spinnerclass);
3、建立Adapter并且绑定数据源
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, mItems);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
4、绑定 Adapter到控件
spinnerItems.setAdapter(adapter);
5、如 动态增删 所示的增删查
选择项目后的回调函数
spinnerItems.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
String[] languages = getResources().getStringArray(R.array.languages);
Toast.makeText(MainActivity.this, "你点击的是:"+languages[pos], 2000).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
});
其他如下拉样式等内容,请自行另外搜索~~
- 消息服务框架使用案例之--大文件上传(断点续传)功能
- Java中三种Set类型用法、性能大比拼
- Android基础总结(5)——数据存储,持久化技术
- 如何突破Windows环境限制打开“命令提示符”
- 【Spark研究】Spark之工作原理
- Java中泛型使用的必要性
- “一切都是消息”--MSF(消息服务框架)之【发布-订阅】模式
- Android基础总结(4)——广播接收器
- “一切都是消息”--MSF(消息服务框架)之【请求-响应】模式(点对点)
- “老坛泡新菜”:SOD MVVM框架,让WinForms焕发新春
- 解决服务器SID引起虚拟机不能加入AD域用户,无法远程登录的问题
- 【Python环境】如何使用 Docker 快速配置数据科学开发环境?
- Java中UUID的2种创建方法——有代码实例
- 使用“消息服务框架”(MSF)实现分布式事务的三阶段提交协议(电商创建订单的示例)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 02-Ansible入门进阶
- 接口自动化框架pyface详细介绍
- JVM字节码与Java代码层调优
- kubernetes(十四) 基于kubernetes的jenkins持续集成
- 2020测试工具索引
- 测试同学动手搭个简易web开发项目
- kubernetes(十五) kubernetes 运维
- JVM层GC调优(下)
- pytest封神之路第一步 tep介绍
- kubernetes(十六) k8s 弹性伸缩
- Mockito鸡尾酒第一杯 Java单测Mock
- kubernetes(十七) Helm V3 入门到放弃
- Dockerfile文件万字全面解析
- Go测试开发(一) 怎么写Go代码
- kubernetes(十八)集群网路