Android入门/ Spinner组件(二十)
来源:互联网 发布:外国人评价道德经知乎 编辑:程序博客网 时间:2024/05/21 09:33
传送 : Spinner | Android Developers
↳android.view.ViewGroup
↳android.widget.AdapterView<T extends android.widget.Adapter>
↳android.widget.AbsSpinner
↳android.widget.Spinner
Spinner的继承结构比较复杂,在继承树中有AdapterView,这是比较重要的一项,因为我们就是通过Adapter来为Spinner设置下拉列表项的。
Spinner的重点问题就是下拉列表项的配置,通过之前组件的了解,我们知道资源组件的配置有两种方式,
一种是通过XML文件来配置,一种是通过程序来配置。而从Spinner的文档中,我们可以看到,对它的配置需要使用Adapter类的实现。
通过XML配置(当列表项已经确定的情况下)::
1. 首先要准备一个array 文件,用来填充列表的具体项。
<string-array name="leave_type"> <item>事假</item> <item>病假</item> <item>其他</item> </string-array>
2. 接下来声明一个Spinner 控件
<Spinner android:id="@+id/leave_type_class" android:layout_width="fill_parent" android:layout_height="wrap_content" android:prompt = "@string/please_choose_leave_type";<!-- 弹出选择框的title --> android:entries="@array/leave_type" /> <!-- 设置用 leave_type填充每一项 -->
3. string.xml
<string name="@string/please_choose_leave_type">请选择请假类型:</string>
实现的效果图:
使用Adapter 生成每一项
1.接下来声明一个Spinner 控件
2.
private ArrayAdapter<String> leaveArrayAdapter = null; private Spinner leaverSpinner = null; private List<String> childNameList =new ArrayList<String>(); childNameList.add("陈思韵"); childNameList.add("陈志伟"); childNameList.add("张静晨"); childNameList.add("罗春晓"); leaverSpinner = (Spinner) findViewById(R.id.leaver_spinner); leaveArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,childNameList); leaveArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//设置按压的Resource,添加一个RadioButton选中效果 leaverSpinner.setAdapter(leaveArrayAdapter);
上述都是使用默认的布局,也可以自定义每一项的布局,继承自BaseAdapter 然后getView中绑定每一项的布局,
但是遇到一个问题,不像默认的布局,点击之后才会显示DropDown! 暂时还没有想到解决的办法!有idea 欢迎留言,或者私信我,谢谢!
- Android入门/ Spinner组件(二十)
- android组件 --spinner
- android组件之Spinner
- android中的高级组件(二)(Spinner,ListView,GridView)
- android 组件Spinner组件实例
- android-UI组件实例大全(十)------Adapter类Four之Spinner列表选项框
- android 高级组件之Spinner
- Android UI 之Spinner组件
- android开发之Spinner组件
- 【Android基础】Spinner组件使用
- android spinner autocompleteTextView 组件使用
- #Android#UI组件之spinner
- Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner
- 从零开始学android<Toast土司提示组件.二十.>
- android 应用组件[通用 Intent---设置] 二十
- Android基本组件06(Spinner)
- Android初级之组件基础09-Spinner
- Android组件之Spinner(下拉列表)
- sql字符串截取
- LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
- Linux内核高端内存
- JAX-RS 入门一:基础
- linux学习笔记4--线程编程
- Android入门/ Spinner组件(二十)
- _snprintf 显示(null)
- NhiberNate 缓存机制
- linux学习笔记4--原子操作
- .net内存分配分析
- 测试硬盘读写速度
- assign retain copy 举例解释 @synthesize obj=_obj的意义详解
- 完成16进制数到10进制转换
- android图片处理方法(不断收集中)