Android Spinner列表选择框的应用
Spinner 是 Android 的列表选择框,不过 spinner 并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择。
Spinner 属性:
● android:spinnerMode:列表显示的模式,有两个选择,为弹出列表(dialog)以及下拉列表(dropdown),如果不特别设置,为下拉列表。
● android:entries:使用<string-array.../>资源配置数据源。
● android:prompt:对当前下拉列表设置标题,仅在dialog模式下有效。传递一个“@string/name”资源,需要在需要在资源文件中定义<string.../>。
Spinner 常用事件:
● AdapterView.OnItemCLickListener:列表项被点击时触发。
● AdapterView.OnItemLongClickListener:列表项被长按时触发。
● AdapterView.OnItemSelectedListener:列表项被选择时触发。
Spinner 数据绑定:
● 使用xml设置数组资源,简单方便但是不灵活,如果只是显示固定的简单数据可以使用。
● 使用 adapter 接口设置,最常见的方式,动态加载灵活,可以设置各种样式和数据来源。
XML 文件结构(一般写在string.xml文件中)
<resource> <string-array name="arrayname"> <item>item1</item> <item>item2</item> <item>item3</item> </string-array> <resource>
对于简单的数据可以使用 ArrayAdapter 来设置适配器,但是对于稍微复杂的数据 ArrayAdapter 就无法满足需求了,这时需要使用 SimpleAdapter 来做适配。
SimpleAdapter 适配器同样基础自 Adapter,他可以映射静态的 XML 格式的布局文件到视图中。可以指定 List<Map<P,T>> 格式数据,list 的数据对应 Spinner 中的每一行,Map 中的数据对应没一条数据 mSpinner = (Spinner)findViewById(R.id.sp_bank);
mSpinner = (Spinner)findViewById(R.id.sp_bank); banklist = (List<String>) resultMap.get("list"); //将可选内容与ArrayAdapter连接起来 adapter = new ArrayAdapter<String>(self, R.layout.simple_spinner_item, banklist); //设置下拉列表的风格 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //将adapter 添加到spinner中 mSpinner.setAdapter(adapter); //添加事件Spinner事件监听 mSpinner.setOnItemSelectedListener(new SpinnerSelectedListener());
class SpinnerSelectedListener implements OnItemSelectedListener { public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { String str = parent.getItemAtPosition(position).toString(); //Toast.makeText(self, "你点击的是:"+str, 2000).show(); bankname = str; } public void onNothingSelected(AdapterView<?> arg0) { } }
Spinner 弹出列表事件上是 listview,所以 listview 的各种方法都可以用在 Spinner 弹出窗口这里,当时也可以自定义数据源,自定义 Adapter 继承 BaseAdapter 实现更为灵活更为复杂的效果。
Spinner 在初始化时会自动调用一次 OnItemSelectedListener 事件,这是因为系统会自动加载默认值造成的。
解决方法:手动添加默认值,这里需要主要调用顺序,必须在注册方法之前调用。
//在事件注册之前调用,一般指定第0个为默认值 spinner.setSelection(0, true);
以上就是对Android Spinner的实例详解,如有疑问,请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文向大家介绍Android 列表选择框 Spinner详解及实例,包括了Android 列表选择框 Spinner详解及实例的使用技巧和注意事项,需要的朋友参考一下 Android 列表选择框 Spinner详解及实例 Spinner 是 Android 的列表选择框,不过 spinner 并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择。 Spinner 属性: ● android:sp
主要内容:本节引言:,1.相关属性,2.使用示例:,3.代码示例下载:,本节小结本节引言: 本来本节是想给大家介绍一个Gallery(画廊)的一个控件的,后来想想还是算了,因为 在Android 4.1后就已经被弃用了,尽管我们可以通过兼容不来使用Gallery,不过想想 还是算了,因为Gallery在每次切换图片的时候,都需要重新创建视图,这样无疑会造成 很大资源浪费!我们可以通过其他方法来实现Gallery效果,比如通过HorizontalScrollView 来实现水平
本文向大家介绍Android组件实现列表选择框功能,包括了Android组件实现列表选择框功能的使用技巧和注意事项,需要的朋友参考一下 android提供的列表选择框(Spinner)相当于web端用户注册时的选择下拉框,比如注册候选择省份城市等。如下图便是一个列表选择框 下拉列表的列表选择项能够通过xml文件的android:entries属性指定,或是在java代码中导入,属性android:
问题内容: 有人可以确认其 不 能够改变,当你点击一个选择框,显示一个下拉的高度。 select的size属性使其看起来像一个列表,CSS中的height属性也没有太大用。 问题答案: 已确认。 下拉部分设置为: 显示所有条目所需的高度,或者 需要显示的高度项(带有滚动条来查看剩余),其中是 在Firefox和Chrome中为20 在IE 6、7、8中为30 Opera 10为16 Opera 1
我有一个旋转器下拉列表,我想改变所选项目的颜色,但不是列表项目。 我想要的是使选定的项目文本颜色在蓝色背景只有白色和其他的黑色,因为他们是。
我有一个列表视图,当我的活动开始时,我想要第一个项目将有背景,其他项目没有任何背景。之后,如果用户选择任何其他项目,则该特定项目的背景现在将为蓝色,其余部分将没有任何背景。请帮帮我。 My layout_effect.xml 设置默认背景的GetView代码 listview的任何我的onclickListner 我的列表视图xml 请帮帮我,我怎么才能解决这个问题,我从昨天开始就被困在里面了。