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 】
相关推荐:
如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)
微信公众帐号开发教程之图文消息全攻略
Laravel如何使用Sanctum进行API认证?(SPA实战)
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
如何选择可靠的免备案建站服务器?
如何基于云服务器快速搭建个人网站?
如何续费美橙建站之星域名及服务?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
如何在万网主机上快速搭建网站?
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
中山网站推广排名,中山信息港登录入口?
javascript基本数据类型及类型检测常用方法小结
免费网站制作appp,免费制作app哪个平台好?
如何打造高效商业网站?建站目的决定转化率
如何快速搭建FTP站点实现文件共享?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
js实现点击每个li节点,都弹出其文本值及修改
Laravel怎么在Blade中安全地输出原始HTML内容
如何在IIS7上新建站点并设置安全权限?
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
网站制作价目表怎么做,珍爱网婚介费用多少?
Android GridView 滑动条设置一直显示状态(推荐)
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
如何快速重置建站主机并恢复默认配置?
如何为不同团队 ID 动态生成多个“认领值班”按钮
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
在线教育网站制作平台,山西立德教育官网?
EditPlus中的正则表达式实战(6)
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
PHP正则匹配日期和时间(时间戳转换)的实例代码
javascript基于原型链的继承及call和apply函数用法分析
如何制作一个表白网站视频,关于勇敢表白的小标题?
C语言设计一个闪闪的圣诞树
韩国服务器如何优化跨境访问实现高效连接?
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
使用Dockerfile构建java web环境
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
Laravel如何生成API文档?(Swagger/OpenAPI教程)
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决

