1)实现效果


2)关键代码

package com.example.test6;import java.util.ArrayList;import java.util.List;import android.os.Bundle;import android.app.Activity;import android.widget.*;import android.view.*;public class MainActivity extends Activity {private Spinner citySpinner=null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);citySpinner=(Spinner)findViewById(R.id.citySpinner);/*生成List<KeyValue>*/List<KeyValue> cities=new ArrayList<KeyValue>();cities.add(new KeyValue(1, "上海"));cities.add(new KeyValue(2, "深圳"));cities.add(new KeyValue(3, "广州"));cities.add(new KeyValue(4, "杭州"));cities.add(new KeyValue(5, "苏州"));/*将List<KeyValue>绑定给Spinner*/ArrayAdapter<KeyValue> adapter=new ArrayAdapter<KeyValue>(this,android.R.layout.simple_spinner_item,cities);adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);citySpinner.setAdapter(adapter);citySpinner.setSelection(cities.size()-1);citySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){public void onItemSelected(AdapterView<?> parent, View view, int position, long id){int key=((KeyValue)parent.getSelectedItem()).getKey();String value=((KeyValue)parent.getSelectedItem()).getValue();}@Overridepublic void onNothingSelected(AdapterView<?> arg0) {}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}class KeyValue {public KeyValue(){}public KeyValue(int _key, String _value){this.key=_key;this.value=_value;}private int key;private String value;/*为什么要重写toString()呢?因为适配器在显示数据的时候,如果传入适配器的对象不是字符串的情况下,直接就使用对象.toString()*/@Overridepublic String toString() {  return getValue();}public int getKey() {return key;}public void setKey(int key) {this.key = key;}public String getValue() {return value;}public void setValue(String value) {this.value = value;}}

3)如果List<KeyValue>是从数据库中获取那么可以参考一下获取方式

/*查询数据, 返回key-value List对象*/public List<KeyValue> queryKeyValueList(String whereString){List<KeyValue> items=new ArrayList<KeyValue>();Cursor cursor=query(whereString);if(cursor.getCount()>0){while(cursor.moveToNext()){KeyValue item=new KeyValue();item.setKey(cursor.getInt(cursor.getColumnIndex("_id")));item.setValue(cursor.getString(cursor.getColumnIndex("description")));items.add(item);}}return items;}

更多相关文章

  1. 类和 Json对象
  2. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  3. android calendar的使用
  4. Android,机器狗应用
  5. 获取Android(安卓)Device的信息
  6. Android适配器之------BaseAdapter(例子)
  7. 九宫格
  8. android获取本地视频路径
  9. Android(安卓)中的 Looper 对象

随机推荐

  1. Sentence-BERT: 一种能快速计算句子相似
  2. 【MOS】Limitations of the Oracle Cost
  3. memcached程序端口监控脚本
  4. PKG_COLLECTION_LHR 存储过程或函数返回
  5. cront计划任务的详细讲解
  6. 【MOS】RAC 环境中 gc block lost 和私网
  7. Iptables 规则用法小结
  8. MySQL优化
  9. Java泛型通配符 ? 与 T 的区别
  10. windows平台下编辑的内容传到linux平台出