AndroID Spinner列表选择框的应用
Spinner 是 AndroID 的列表选择框,不过 spinner 并不需要显示下拉列表,而是相当于d出一个菜单供用户选择。
Spinner 属性:
● androID:spinnerMode:列表显示的模式,有两个选择,为d出列表(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 d出列表事件上是 ListvIEw,所以 ListvIEw 的各种方法都可以用在 Spinner d出窗口这里,当时也可以自定义数据源,自定义 Adapter 继承 BaseAdapter 实现更为灵活更为复杂的效果。
Spinner 在初始化时会自动调用一次 OnItemSelectedListener 事件,这是因为系统会自动加载默认值造成的。
解决方法:手动添加默认值,这里需要主要调用顺序,必须在注册方法之前调用。
//在事件注册之前调用,一般指定第0个为默认值spinner.setSelection(0,true);
以上就是对AndroID Spinner的实例详解,如有疑问,请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
总结以上是内存溢出为你收集整理的Android Spinner列表选择框的应用全部内容,希望文章能够帮你解决Android Spinner列表选择框的应用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)