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
相关文章:
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
常州自助建站费用包含哪些项目?
安徽网站建设与外贸建站服务专业定制方案
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
,有什么在线背英语单词效率比较高的网站?
大型企业网站制作流程,做网站需要注册公司吗?
视频网站制作教程,怎么样制作优酷网的小视频?
如何用VPS主机快速搭建个人网站?
建站之星24小时客服电话如何获取?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
,石家庄四十八中学官网?
python的本地网站制作,如何创建本地站点?
简单实现Android验证码
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
如何通过商城免费建站系统源码自定义网站主题?
网站专业制作公司有哪些,做一个公司网站要多少钱?
如何配置支付宝与微信支付功能?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
潮流网站制作头像软件下载,适合母子的网名有哪些?
自助网站制作软件,个人如何自助建网站?
深圳网站制作培训,深圳哪些招聘网站比较好?
制作门户网站的参考文献在哪,小说网站怎么建立?
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何快速上传建站程序避免常见错误?
学校建站服务器如何选型才能满足性能需求?
如何快速搭建高效简练网站?
山东网站制作公司有哪些,山东大源集团官网?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
,网站推广常用方法?
XML的“混合内容”是什么 怎么用DTD或XSD定义
高端网站建设与定制开发一站式解决方案 中企动力
济南网站制作的价格,历城一职专官方网站?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
网站按钮制作软件,如何实现网页中按钮的自动点击?
青岛网站建设如何选择本地服务器?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
广德云建站网站建设方案与建站流程优化指南
建站之星客服服务时间及联系方式如何?
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
教育培训网站制作流程,请问edu教育网站的域名怎么申请?
建站主机CVM配置优化、SEO策略与性能提升指南
如何快速搭建高效WAP手机网站吸引移动用户?
宝塔Windows建站如何避免显示默认IIS页面?
建站之星后台密码遗忘或太弱?如何重置与强化?
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
*请认真填写需求信息,我们会在24小时内与您取得联系。