安卓学习--------spinner控件
来源:互联网 发布:用友易代账软件 编辑:程序博客网 时间:2024/05/22 06:17
安卓提供了一种下拉菜单式的控件:spinner,实现这个控件主要就是配置ArrayAdapter这个适配器,下面就记录配置该适配器的两种方法。
一.通过createFromResource方法创建一个ArrayAdapter对象
1.首先在布局文件中定义一个spinner控件
<Spinnerandroid:id="@+id/spinnerId"android:spinnerMode="dialog"android:prompt="@string/prompt"android:layout_width="fill_parent"android:layout_height="wrap_content"/>2.创建一个ArrayAdapter适配器
//第一个参数是指上下文对象//第二参数引用了在strings.xml文件当中定义的String数组//第三个参数是用来指定Spinner的样式,是一个布局文件ID,该布局文件由Android系统提供,也可替换为自己定义的布局文件ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item);
3.设置每个条目的的样式,并设置适配器
//设置Spinner当中每个条目的样式,同样是引用一个Android系统提供的布局文件adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);spinner.setAdapter(adapter);
关于spinner的prompt设置有2种方法:
1.在xml布局文件中使用android:prompt=""来进设置;
2.在程序使用spinner.setPromptId()或者spinner.setPrompt()进行设置。
二.使用ArrayAdapter的构造函数来创建ArrayAdapter对象
1.首先创建一个ArrayList
List<String> list = new ArrayList<String>();list.add("test1");list.add("test2");
2.为list创建xml布局文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:id="@+id/textViewId" android:layout_width="fill_parent" android:layout_height="wrap_content" /></LinearLayout>
3.调用ArrayAdapter的构造函数来创建ArrayAdapter对象
ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item,R.id.textViewId,list);spinner.setAdapter(adapter);
以上就是设置ArrayAdapter的两种方法,同时我们可以对用户选择列表的动作进行监听。
1.首先为spinner绑定监听器
spinner.setOnItemSelectedListener(new SpinnerOnSelectedListener());
2.创建监听器处理类
class SpinnerOnSelectedListener implements OnItemSelectedListener{//当用户选定了一个条目时,就会调用该方法@Overridepublic void onItemSelected(AdapterView<?> adapterView, View view, int position,long id) {//获取选择的位置String selected = adapterView.getItemAtPosition(position).toString();System.out.println(selected);}@Overridepublic void onNothingSelected(AdapterView<?> adapterView) {// TODO Auto-generated method stubSystem.out.println("nothingSelected");}}
我们可以在这里添加在用户操作后所要执行的动作。
可参考文档:
http://blog.csdn.net/chenjinyu_tang/article/details/6587953
http://imshare.iteye.com/blog/770950
- 安卓学习--------spinner控件
- 安卓Spinner控件的Bug
- 安卓开发16:Spinner 下拉列表控件
- [一个星期自学安卓]Spinner下拉控件
- 安卓入门--Spinner控件与二级联动详解
- 安卓开发之自绘spinner控件
- 安卓之高级控件Spinner下拉框
- 安卓之高级控件Spinner下拉框
- android学习---Spinner控件
- Spinner控件学习
- Spinner控件的学习
- Spinner控件学习
- Spinner控件的学习
- 安卓 Spinner详解
- 安卓spinner
- Android学习--Spinner控件学习
- 安卓学习第二十三天:Spinner,TableLayout
- 安卓学习之解决Spinner不显示的问题
- SessionFactory.getCurrentSession与openSession的区别
- C++ 用libcurl库进行http通讯网络编程
- IplImage结构
- Windows Server 2008 R2 服务器安装(重装)流程备忘
- Example of hash in Perl
- 安卓学习--------spinner控件
- 0917
- 用JNI从C传递结构体到JAVA
- android 实现定时拍照功能
- WebSphere启动was出错:server1 注册成作为 Windows 服务运行
- 14条建议,使你的IT职业生涯更上一层楼
- 选择TTL和CMOS混合电路时需要注意的一些问题
- 在CentOS5.4下安装SVN
- java基础01 面向对象