一、字典表,用来存放键值对信息

复制代码
package com.ljq.activity;import java.io.Serializable;@SuppressWarnings("serial")public class Dict implements Serializable {    private Integer id;    private String text;    public Dict() {    }    public Dict(Integer id, String text) {        super();        this.id = id;        this.text = text;    }    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public String getText() {        return text;    }    public void setText(String text) {        this.text = text;    }    /**     * 为什么要重写toString()呢?     *      * 因为适配器在显示数据的时候,如果传入适配器的对象不是字符串的情况下,直接就使用对象.toString()     */    @Override    public String toString() {        return text;    }}
复制代码

二、activity类,绑定数据、获取选中的键值对

复制代码
package com.ljq.activity;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Spinner;import android.widget.Toast;import android.widget.AdapterView.OnItemSelectedListener;public class MainActivity extends Activity {    private Spinner mySpinner;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        mySpinner = (Spinner) findViewById(R.id.mySpinner);        List<Dict> dicts = new ArrayList<Dict>();        dicts.add(new Dict(1, "测试1"));        dicts.add(new Dict(2, "测试2"));        dicts.add(new Dict(3, "测试3"));        dicts.add(new Dict(4, "测试4"));        ArrayAdapter<Dict> adapter = new ArrayAdapter<Dict>(this,                android.R.layout.simple_spinner_item, dicts);        mySpinner.setAdapter(adapter);        mySpinner.setOnItemSelectedListener(new OnItemSelectedListener(){            public void onItemSelected(AdapterView<?> parent, View view,                    int position, long id) {                // 获取键的方法:mySpinner.getSelectedItem().toString()或((Dict)mySpinner.getSelectedItem()).getId()                // 获取值的方法:((Dict)mySpinner.getSelectedItem()).getText();                Toast.makeText(MainActivity.this,                        "键:" + mySpinner.getSelectedItem().toString() + "、" + ((Dict) mySpinner.getSelectedItem()).getId() +                         ",值:" + ((Dict) mySpinner.getSelectedItem()).getText(),                        Toast.LENGTH_LONG).show();            }            public void onNothingSelected(AdapterView<?> parent) {                            }        });    }}
复制代码

三、修改main.xml布局文件

复制代码
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent">    <Spinner android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/mySpinner"/></LinearLayout>
复制代码

四、运行结果如下:

Android Spinner控件之键值对用法


更多相关文章

  1. Android中对Group的各种操作示例代码
  2. Android 获取时间实例代码
  3. android 源代码 获得 Open Soure Project
  4. android 实现流媒体播放远程mp3文件代码
  5. Android 代码中实现返回键功能
  6. Android的jni下c与java数据互传测试代码
  7. android设置图片变化的四种效果代码

随机推荐

  1. android tabhost位于底部
  2. android软键盘右下角按键设置
  3. 如何用android:layout_weight弄个满意的
  4. AutoCompleteTextView自动完成文本框
  5. Android实现跑马灯效果的方法
  6. 在程序中设置android:gravity 和 android
  7. Android(安卓)Studio 系列(四)Version Cont
  8. 【转】Android(安卓)xml资源文件中@、@an
  9. 用HTML5开发Android应用程序
  10. [Android]Android(安卓)manifest 属性说