Spinner --- 功能和用法
第一种方法:
使用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 --- 功能和用法的更多相关文章
- Spinner功能和用法
书中只是简单写了选择的界面,没有写出选择之后的结果显示,我做了进一步功能. MainActivity.java public class MainActivity extends Activity { ...
- Android 自学之画廊视图(Gallery)功能和用法
Gallery与之前讲的Spinner有共同的父类:AbsSpinner,表明Gallery和Spinner都是一个列表框.他们之间的区别在于Spinner显示的是一个垂直的列表框,而Gallery显 ...
- 搜索框(SearchView)的功能与用法
SearchView是搜索框组件,它可以让用户在文本框内输入汉字,并允许通过监听器监控用户输入,当用户用户输入完成后提交搜索按钮时,也通过监听器执行实际的搜索. 使用SearchView时可以使用如下 ...
- 数值选择器(NumberPicker)的功能与用法
数值选择器用于让用户输入数值,用户既可以通过键盘输入数值,也可以通过拖动来选择数值.使用该组件常用如下三个方法. setMinValue(int minVal):设置该组件支持的最小值. setMax ...
- 日历视图(CalendarView)组件的功能和用法
日历视图(CalendarView)可用于显示和选择日期,用户既可选择一个日期,也可通过触摸来滚动日历.如果希望监控该组件的日历改变,可调用CalendarView的setOnDateChangeLi ...
- 星级评分条(RatingBar)的功能和用法
星级评分条与拖动条有相同的父类:AbsSeekBar,因此它们十分相似.实际上星级评分条与拖动条的用法.功能都十分接近:它们都是允许用户通过拖动条来改变进度.RatingBar与SeekBar最大区别 ...
- 拖动条(SeekBar)的功能和用法
拖动条和进度条非常相似,只是进度条采用颜色填充来表明进度完成的程序,而拖动条则通过滑块的位置来标识数值——而且拖动条允许用户拖动滑块来改变值,因而拖动条通常用于对系统的某种数值进行调节,比如调节音量等 ...
- StackView的功能和用法
StackView也是AdapterViewAnimator的子类,它也用于显示Adapter提供的系列View.SackView将会以“堆叠(Stack)”方式来显示多个列表项. 为了控制Stack ...
- MySQL常用存储引擎功能与用法详解
本文实例讲述了MySQL常用存储引擎功能与用法. MySQL存储引擎主要有两大类: 1. 事务安全表:InnoDB.BDB. 2. 非事务安全表:MyISAM.MEMORY.MERGE.EXAMPLE ...
随机推荐
- hiberbnate 缓存策略概述
1. 首先了解什么是缓存 这里说的缓存并不是指计算机的内存或者CPU的一二级缓存. 缓存是指为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能的一种策略.即对物理数据源的复制,存在于内 ...
- angularJS使用内置服务
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...
- 1-wire单总线DS18B20
要想实现单总线通信,每一个挂在总线上的从机必须拥有开路或3态输出.单总线DS18B20的DQ引脚用内部电路实现了开漏输出,其等效电路如下图: 当单片机IO引脚配置为 mcu IO引脚 电流流向 DS1 ...
- log4cxx在linux下的编译使用
最近在linux下使用log4cxx库,按照其官方文档提供的方法来进行编译,不能成功,又利用google搜索了好几个中文博客上讲述在linux下编译使用log4cxx库的方法,依然不能成功,在这里我奉 ...
- HDU 5303 Delicious Apples(思维题)
Delicious Apples Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Other ...
- 报错"the microsoft.jet.oledb.4.0 provider is not registered on the local machine"解决方案
报错提示:"the microsoft.jet.oledb.4.0 provider is not registered on the local machine" 错误起因:wi ...
- Atitit.prototype-base class-based 基于“类” vs 基于“原型”
Atitit.prototype-base class-based 基于“类” vs 基于“原型” 1. 基于“类” vs 基于“原型”1 2. 对象的产生有两种基本方式.一种是以原型(proto ...
- Atitit.木马病毒的操作注册表原理 系统服务管理器 atiSysService
Atitit.木马病毒的操作注册表原理 系统服务管理器 atiSysService 1. atiSysService1 2. atiSysService 原理1 3. Java code1 4. 参 ...
- C语言第十一回合:预处理命令的集中营
C语言第十一回合:预处理命令的集中营 [学习目标] 1. 宏定义 2. 文件包括"处理 3. 条件编译 预处理命令:能够改进程序设计的 ...
- redis命令_ZREVRANGEBYSCORE
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] 返回有序集 key 中, score 值介于 max 和 min 之间(默 ...