第一种方法:

使用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. PlayMaker 不支持过渡条件

    Unity Animator 自带也支持过渡条件,  我看了下PlayMaker没有这个概念.  最近研究下PlayMaker,图形化编程的确很爽. 但是PlayMaker 始于与给一些策划进行流程设 ...

  2. input text 去掉标签下拉提示autocomplete

    autocomplete 属性 autocomplete 属性规定输入字段是否应该启用自动完成功能. 自动完成允许浏览器预测对字段的输入.当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在 ...

  3. XML序列化 判断是否是手机 字符操作普通帮助类 验证数据帮助类 IO帮助类 c# Lambda操作类封装 C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法 C# -- 文件的压缩与解压(GZipStream)

    XML序列化   #region 序列化 /// <summary> /// XML序列化 /// </summary> /// <param name="ob ...

  4. iperf使用

    1. sourceforge搜索iperf下载 2. ./configure make make install 3. server:iperf -s -p 12345 -i 1 -M: client ...

  5. 关于Go语言daemon启动的方法.

    昨天搞了个文件共享的小程序,遇见了意见蛋疼的事,就是启动之后终端不能关闭,不然程序也会随着关闭. 我的解决方法: nohup ./httpserver & nohup这个命令能够把程序放后台执 ...

  6. c#, extract number from string

    using System.Text.RegularExpressions; string numberStr = Regex.Match (str, "[0-9]").Value; ...

  7. 大型站点技术架构PDF阅读笔记(一):

    1.数据库读写分离: 2.系统吞吐量和系统并发数以及系统响应时间之间的关系: 3.系统负载的概念: 4.反向代理的概念: 5.使用缓存来读取数据: 6.利用cookie来记录session: 利用co ...

  8. JDK的动态代理机制

    JDK Proxy OverView jdk的动态代理是基于接口的,必须实现了某一个或多个随意接口才干够被代理,并且仅仅有这些接口中的方法会被代理.看了一下jdk带的动态代理api.发现没有样例实在是 ...

  9. 爱国者布局智能硬件,空探系列PM2.5检測仪“嗅霾狗”大曝光

        随着6月1日史上最严禁烟令的正式实施,国内包含北京.上海.成都等大中型城市已经在公共场所全面禁烟.众所周知,实施禁烟令的根本在于促进空气的净化,实现环境的改善,要达到这个目的,光有禁烟令是远远 ...

  10. 1.文件I/O

    一. open()&close() #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h& ...