第一种方法:

使用Spinner时需要配置选项的资源文件,资源文件为一个string类型的数组

在res下的values文件夹下新建一个xml文件

内容为:

<?xml version="1.0" encoding="utf-8"?>
<resources> <string-array name="book">
<item>《java开发实战经典》</item>
<item>《J2EE轻量级框架》</item>
<item>《平凡的世界》</item>
<item>《西方哲学简史》</item>
<item>《白鹿原》</item>
<item>《人性的弱点》</item>
</string-array> </resources>

界面显示文件配置为:

使用Spinner时需要配置选项的资源文件,资源文件为一个string类型的数组

在res下的values文件夹下新建一个xml文件

内容为:

<?xml version="1.0" encoding="utf-8"?>
<resources> <string-array name="book">
<item>《java开发实战经典》</item>
<item>《J2EE轻量级框架》</item>
<item>《平凡的世界》</item>
<item>《西方哲学简史》</item>
<item>《白鹿原》</item>
<item>《人性的弱点》</item>
</string-array> </resources> 界面显示文件配置为: <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/book" ————>引入资源文件
android:prompt="@string/tishi" ——配置下拉列表的提示语,不可以直接写字符串,必须从资源文件中引入字符串
/> </LinearLayout>

第二种方法:

values中的string.xml文件如下:

<?xml version="1.0" encoding="utf-8"?>
<resources> <string name="hello">Hello World, SpinnerActivity!</string>
<string name="app_name">Spinner</string>
<string name="tishi">请选择你喜欢的书籍</string> </resources>

在程序中配置下拉列表中的信息,并设置下拉列表的现实风格

arrayadapter用来解析数据

程序代码如下:

public class SpinnerActivity extends Activity {
Spinner spinner;
ArrayAdapter<CharSequence> arrayadapter; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
arrayadapter=ArrayAdapter.createFromResource(this, R.array.book,android.R.layout.simple_spinner_item); spinner=(Spinner)findViewById(R.id.spinner2);
arrayadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);-->设置下拉列表的显示风格
spinner.setAdapter(arrayadapter); ————>将arrayadapter配置给Spinner }
}

第三种方法:

在Spinner中自定义Adapter,定义一个类继承BaseAdapter,实现父类的方法

public class MyAdapter extends BaseAdapter {
private Context mycontext;
public MyAdapter(Context context){
this.mycontext=context;
} public int getCount() { //返回该Adapter中view的个数,不写默认为为零
// TODO Auto-generated method stub
return 10;
} public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
} public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
} public View getView(int position, View convertView, ViewGroup parent) { //返回自定义的view
TextView tv=new TextView(mycontext);
tv.setText("aaa"+position);
return tv;
} }

Activity中的实现代码

public class SpinnerActivity extends Activity {
Spinner spinner;
ArrayAdapter<CharSequence> arrayadapter; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
spinner=(Spinner)findViewById(R.id.spinner2);
MyAdapter myadapter=new MyAdapter(SpinnerActivity.this);
spinner.setAdapter(myadapter); }
}

Spinner --- 功能和用法的更多相关文章

  1. Spinner功能和用法

    书中只是简单写了选择的界面,没有写出选择之后的结果显示,我做了进一步功能. MainActivity.java public class MainActivity extends Activity { ...

  2. Android 自学之画廊视图(Gallery)功能和用法

    Gallery与之前讲的Spinner有共同的父类:AbsSpinner,表明Gallery和Spinner都是一个列表框.他们之间的区别在于Spinner显示的是一个垂直的列表框,而Gallery显 ...

  3. 搜索框(SearchView)的功能与用法

    SearchView是搜索框组件,它可以让用户在文本框内输入汉字,并允许通过监听器监控用户输入,当用户用户输入完成后提交搜索按钮时,也通过监听器执行实际的搜索. 使用SearchView时可以使用如下 ...

  4. 数值选择器(NumberPicker)的功能与用法

    数值选择器用于让用户输入数值,用户既可以通过键盘输入数值,也可以通过拖动来选择数值.使用该组件常用如下三个方法. setMinValue(int minVal):设置该组件支持的最小值. setMax ...

  5. 日历视图(CalendarView)组件的功能和用法

    日历视图(CalendarView)可用于显示和选择日期,用户既可选择一个日期,也可通过触摸来滚动日历.如果希望监控该组件的日历改变,可调用CalendarView的setOnDateChangeLi ...

  6. 星级评分条(RatingBar)的功能和用法

    星级评分条与拖动条有相同的父类:AbsSeekBar,因此它们十分相似.实际上星级评分条与拖动条的用法.功能都十分接近:它们都是允许用户通过拖动条来改变进度.RatingBar与SeekBar最大区别 ...

  7. 拖动条(SeekBar)的功能和用法

    拖动条和进度条非常相似,只是进度条采用颜色填充来表明进度完成的程序,而拖动条则通过滑块的位置来标识数值——而且拖动条允许用户拖动滑块来改变值,因而拖动条通常用于对系统的某种数值进行调节,比如调节音量等 ...

  8. StackView的功能和用法

    StackView也是AdapterViewAnimator的子类,它也用于显示Adapter提供的系列View.SackView将会以“堆叠(Stack)”方式来显示多个列表项. 为了控制Stack ...

  9. MySQL常用存储引擎功能与用法详解

    本文实例讲述了MySQL常用存储引擎功能与用法. MySQL存储引擎主要有两大类: 1. 事务安全表:InnoDB.BDB. 2. 非事务安全表:MyISAM.MEMORY.MERGE.EXAMPLE ...

随机推荐

  1. 网页会计系统 FrontAccounting

    FrontAccounting (FA)是一个针对企业ERP供应链的网页会计系统.FA 允許多使用者.多語系和多國貨幣. FA允许多使用者.多语系和多国货币.FA接续OpenAccounting (O ...

  2. SSH面试题目

    一简答 spring工作原理 为什么要用spring 3.请你谈谈SSH整合 4.介绍一下Spring的事务管理 5.Struct2基本流程 6.在Hibernate应用中Java对象的状态有哪些? ...

  3. Python-文件修改器

    #-*- coding: utf-8 -*- import os import sys import glob from PyQt4.QtGui import * from PyQt4.QtCore ...

  4. (转)解决WinDbg调试Dump文件不同环境mscordacwks.dll版本问题

    解决WinDbg调试Dump文件不同环境mscordacwks.dll版本问题   开发人员提交一个dump文件(Windows Server 2008 R2),当前调试环境Windows Serve ...

  5. 基于DDD的.NET开发框架-DDD经典分层

    DDD核心思想是由业务问题来控制解决方案的形式从以数据库为中心过渡到领域模型为中心 下面这个图是我在<领域驱动设计与模式实战>书中拍下来的,他完全诠释DDD的经典分层. 程序代码中也是响应 ...

  6. CI框架源代码阅读笔记7 配置管理组件 Config.php

    原文见这里:http://www.cnblogs.com/ohmygirl/p/CIRead-7.html 一个灵活可控的应用程序中,必定会存在大量的可控參数(我们称为配置),比如在CI的主配置文件里 ...

  7. PHPExcel 对xls表格的文件读取

    //先去http://phpexcel.codeplex.com/releases/view/119187 下载文件包最后解压Classes到当前目录header("Content-type ...

  8. Android Service演义

    摘要: 本文基于Android 5.1代码,介绍了Android Service的运作机理.按理说,网上此类文章已经很多了,本不需我再赘述.但每个人理解技术的方式多少会有所不同,我多写一篇自己理解的s ...

  9. Python内置函数之repr()

    repr(object) 返回对象的字符串形式. >>> a = 'hello' >>> repr(a) "'hello'" 返回的字符串形式可 ...

  10. ny82 迷宫寻宝(一) map+queue

    题目地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=82 AC代码:讲解,先统计在可搜索范围内对应的钥匙数,把搜到的门存到另外的一个队列中,第一 ...