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
相关文章:
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
建站之星安装提示数据库无法连接如何解决?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
定制建站价位费用解析与套餐推荐全攻略
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
行程制作网站有哪些,第三方机票电子行程单怎么开?
建站之星如何助力网站排名飙升?揭秘高效技巧
营销式网站制作方案,销售哪个网站招聘效果最好?
网站微信制作软件,如何制作微信链接?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
简历在线制作网站免费,免费下载个人简历的网站是哪些?
如何获取上海专业网站定制建站电话?
如何在腾讯云免费申请建站?
北京专业网站制作设计师招聘,北京白云观官方网站?
XML的“混合内容”是什么 怎么用DTD或XSD定义
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
北京企业网站设计制作公司,北京铁路集团官方网站?
安云自助建站系统如何快速提升SEO排名?
如何通过西部建站助手安装IIS服务器?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
用v-html解决Vue.js渲染中html标签不被解析的问题
宝塔建站后网页无法访问如何解决?
建站DNS解析失败?如何正确配置域名服务器?
南平网站制作公司,2025年南平市事业单位报名时间?
如何选择高性价比服务器搭建个人网站?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
如何在IIS中新建站点并配置端口与物理路径?
制作网站的基本流程,设计网站的软件是什么?
如何在云主机上快速搭建多站点网站?
网页设计与网站制作内容,怎样注册网站?
如何通过虚拟机搭建网站?详细步骤解析
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何基于PHP生成高效IDC网络公司建站源码?
如何做静态网页,sublimetext3.0制作静态网页?
建站之星备案是否影响网站上线时间?
制作网站的公司有哪些,做一个公司网站要多少钱?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
如何使用Golang安装API文档生成工具_快速生成接口文档
如何选择香港主机高效搭建外贸独立站?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
如何设置并定期更换建站之星安全管理员密码?
如何挑选最适合建站的高性能VPS主机?
兔展官网 在线制作,怎样制作微信请帖?
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何在腾讯云服务器上快速搭建个人网站?
5种Android数据存储方式汇总
*请认真填写需求信息,我们会在24小时内与您取得联系。