Android  Spinner列表选择框的应用

Spinner 是 Android 的列表选择框,不过 spinner 并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择。

Spinner 属性:

● android:spinnerMode:列表显示的模式,有两个选择,为弹出列表(dialog)以及下拉列表(dropdown),如果不特别设置,为下拉列表。
● android:entries:使用资源配置数据源。
● android:prompt:对当前下拉列表设置标题,仅在dialog模式下有效。传递一个“@string/name”资源,需要在需要在资源文件中定义

Spinner 常用事件:

● AdapterView.OnItemCLickListener:列表项被点击时触发。
● AdapterView.OnItemLongClickListener:列表项被长按时触发。
● AdapterView.OnItemSelectedListener:列表项被选择时触发。

Spinner 数据绑定:

● 使用xml设置数组资源,简单方便但是不灵活,如果只是显示固定的简单数据可以使用。
● 使用 adapter 接口设置,最常见的方式,动态加载灵活,可以设置各种样式和数据来源。

XML 文件结构(一般写在string.xml文件中)

   item1  item2  item3 

对于简单的数据可以使用 ArrayAdapter 来设置适配器,但是对于稍微复杂的数据 ArrayAdapter 就无法满足需求了,这时需要使用 SimpleAdapter 来做适配。

SimpleAdapter 适配器同样基础自 Adapter,他可以映射静态的 XML 格式的布局文件到视图中。可以指定 List> 格式数据,list 的数据对应 Spinner 中的每一行,Map 中的数据对应没一条数据 mSpinner = (Spinner)findViewById(R.id.sp_bank);

mSpinner = (Spinner)findViewById(R.id.sp_bank);banklist = (List) resultMap.get("list"); //将可选内容与ArrayAdapter连接起来adapter = new ArrayAdapter(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的实例详解,如有疑问,请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. python起点网月票榜字体反爬案例
  3. Python list sort方法的具体使用
  4. android的多媒体数据库
  5. Android(安卓)Spinner,下拉菜单的功能和用法
  6. android 中管理短信
  7. Android数据绑定Data Binding初体验
  8. android主要有5中数据存储方式
  9. Android(安卓)SharedPreferences应用解析

随机推荐

  1. Android解决用户多次点击按钮问题
  2. 关于android:listview getChildAt 为空的
  3. Android(安卓)RxJava操作符详解系列: 变换
  4. 观察者模式(Observer)在Android中的应用:
  5. Android(安卓)App 中简易的网络数据处理
  6. Android底层库和程序
  7. Android基站定位——三基站(多基站)定位(三)
  8. Android(安卓)平台特性
  9. android之复选框点击事件(掌握CheckBox复
  10. android NDK 和android,mk文件 认知