Android Spinner 组件的应用实例
发布时间 - 2026-01-11 03:04:03 点击率:次Android Spinner 组件

Spinner: 下拉组件
使用事项:布局在XML 中实现,具体的数据在JAVA 代码中实现;
所用知识点:
数组适配器:ArrayAdapter 用于关系M 层和 C 层;
事件:OnItemSelectedListener;
案列:查看十二星座效果图:
xml:代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:orientation="vertical" >
<Spinner
android:id="@+id/spinner"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" />
<TextView
android:id="@+id/showInfo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:gravity="center"
android:text=" " />
</LinearLayout>
</ScrollView>
</LinearLayout>
java代码如下:
package com.example.spinnertest;
import java.util.ArrayList;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class MainActivity extends Activity {
private Spinner spinner;
private TextView tx;
private ArrayList<String> list = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/* 获取TextView 实体对象 , 用于显示星座的详细信息 */
tx = (TextView) findViewById(R.id.showInfo);
/* 下拉组件测试 Spinner 对象首先获取 */
spinner = (Spinner) findViewById(R.id.spinner);
/* 准备数据源 M , 用集合进行保存 */
list = new ArrayList<String>();
list.add("Aries");
list.add("Taurus");
list.add("Gemini");
list.add("Cancer");
list.add("Leo");
list.add("Virgo");
list.add("Libra");
list.add("Scorpio");
list.add("Sagittarius");
list.add("Capricorn");
list.add("Aquarius");
list.add("Pisces");
/* 实现M 层 与C 层的关系 ,绑定数据 */ /* 参数1:上下文对象; 参数2:系统资源布局方式 ; 参数3:数据对象 */
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, list);
/* 对V 层和C 层进行关系的绑定; */
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
/* 对所有的选择项进行监控 *//* 参3:当前选择项的ID 参4:被选择项在组中的位置,逻辑上与ID 相等,但代表的意义不一样 */
public void onItemSelected(AdapterView<?> arg0, View arg1,
int id, long position) {
// Toast.makeText(MainActivity.this, "你选择的是第:"+id+"值为:"+list.get(id), 1000).show();
/* 设置tx对象的值 */
String temp = getConstellation(id);
tx.setText("\t"+temp);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
/* 显示星座的信息 */
protected String getConstellation(int id){
Resources rs = getResources();
String temp = "";
switch(id){
case 0:
temp = rs.getString(R.string.Aries);
break;
case 1:
temp = rs.getString(R.string.Taurus);
break;
case 2:
temp = rs.getString(R.string.Gemini);
break;
case 3:
temp = rs.getString(R.string.Cancer);
break;
case 4:
temp = rs.getString(R.string.Leo);
break;
case 5:
temp = rs.getString(R.string.Virgo);
break;
case 6:
temp = rs.getString(R.string.Libra);
break;
case 7:
temp = rs.getString(R.string.Scorpio);
break;
case 8:
temp = rs.getString(R.string.Sagittarius);
break;
case 9:
temp = rs.getString(R.string.Capricorn);
break;
case 10:
temp = rs.getString(R.string.Aquarius);
break;
case 11:
temp = rs.getString(R.string.Pisces);
break;
case 12:
temp = rs.getString(R.string.Aries);
break;
}
return temp;
}
}
以上就是Android Spinner 组件的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# Spinner
# 的使用方法
# Spinner示例
# android studio 的下拉菜单Spinner使用详解
# Android使用Spinner控件实现下拉列表的案例
# Android使用 Spinner控件实现下拉框功能
# Android控件Spinner实现下拉列表及监听功能
# Android第三方开源下拉框NiceSpinner使用详解
# Android 列表选择框 Spinner详解及实例
# Android中使用Spinner实现下拉列表功能
# Android列表选择框Spinner使用方法详解
# Android-SPI学习笔记
# 绑定
# 的是
# 如有
# 希望能
# 谢谢大家
# 十二星座
# 值为
# 组中
# 疑问请
# 系统资源
# layout_marginLeft
# center
# text
# layout_marginRight
# dp
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
香港服务器租用每月最低只需15元?
魔方云NAT建站如何实现端口转发?
无锡营销型网站制作公司,无锡网选车牌流程?
如何在局域网内绑定自建网站域名?
Laravel如何使用Gate和Policy进行授权?(权限控制)
Bootstrap整体框架之CSS12栅格系统
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
如何为不同团队 ID 动态生成多个非值班状态按钮
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
Java遍历集合的三种方式
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
如何用VPS主机快速搭建个人网站?
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
如何选择可靠的免备案建站服务器?
Laravel如何配置Horizon来管理队列?(安装和使用)
如何用狗爹虚拟主机快速搭建网站?
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
黑客如何利用漏洞与弱口令入侵网站服务器?
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
韩国服务器如何优化跨境访问实现高效连接?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
如何基于PHP生成高效IDC网络公司建站源码?
怎样使用JSON进行数据交换_它有什么限制
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
如何在阿里云香港服务器快速搭建网站?
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
javascript读取文本节点方法小结
Android GridView 滑动条设置一直显示状态(推荐)
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
北京网站制作的公司有哪些,北京白云观官方网站?
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)
Laravel如何使用Vite进行前端资源打包?(配置示例)
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
如何在新浪SAE免费搭建个人博客?
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
js实现获取鼠标当前的位置
Laravel怎么清理缓存_Laravel optimize clear命令详解
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
高防服务器租用指南:配置选择与快速部署攻略
如何在橙子建站中快速调整背景颜色?
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
如何在Windows虚拟主机上快速搭建网站?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
中国移动官方网站首页入口 中国移动官网网页登录

