zoukankan      html  css  js  c++  java
  • Android 之 Spinner 键值对的绑定(转)

    很多时候我们会在下拉菜单中绑定一个值,但是 Spinner本身不提供这样的服务

    于是在网上找了N久,终于找到一个简单易用的方案;废话不多说,直接上菜了

    首先要定义一个Item类,有以下要注意的:

        要重写它的.Tostring()函数,因为适配器在显示数据的时候,如果传入适配器的对象不是字符串的情况下,直接就使用对象.toString()

    [java] view plaincopy
     
    1. public class CItem {  
    2.     private int ID;  
    3.     private String Value = "";  
    4.   
    5.     public CItem() {  
    6.         ID = 0;  
    7.         Value = "";  
    8.     }  
    9.   
    10.     public CItem(int _ID, String _Value) {  
    11.         ID = _ID;  
    12.         Value = _Value;  
    13.     }  
    14.   
    15.     @Override  
    16.     public String toString() {  
    17.         // 为什么要重写toString()呢?因为适配器在显示数据的时候,如果传入适配器的对象不是字符串的情况下,直接就使用对象.toString()  
    18.         // TODO Auto-generated method stub  
    19.         return Value;  
    20.     }  
    21.   
    22.     public int GetID() {  
    23.         return ID;  
    24.     }  
    25.   
    26.     public String GetValue() {  
    27.         return Value;  
    28.     }  
    29. }  

    在onCreate 里面代码如下:

    [java] view plaincopy
     
    1. public void onCreate(Bundle savedInstanceState) {  
    2.     super.onCreate(savedInstanceState);  
    3.     setContentView(R.layout.main);  
    4.     mySpinner = (Spinner) findViewById(R.id.Spinner_mySpinner);  
    5.   
    6.     List<CItem> lst = new ArrayList<CItem>();  
    7.     for (int i = 0; i < 10; i++) {  
    8.         /* 
    9.          * 首先新建一个list,赋值 
    10.          * ID为序号 
    11.          */  
    12.         CItem item = new CItem(i, "value of " + i);  
    13.         lst.add(item);  
    14.     }  
    15.     ArrayAdapter<CItem> myaAdapter = new ArrayAdapter<CItem>(this, android.R.layout.simple_spinner_item, lst);  
    16.     mySpinner.setAdapter(myaAdapter);  
    17.   
    18.     mySpinner.setOnItemSelectedListener(new OnItemSelectedListener() {  
    19.         public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {  
    20.             /* 
    21.              * ids是刚刚新建的list里面的ID 
    22.              */  
    23.             int ids = ((CItem) mySpinner.getSelectedItem()).GetID();  
    24.             System.out.println(ids);  
    25.             Toast.makeText(getApplicationContext(), String.valueOf(ids), Toast.LENGTH_LONG).show();  
    26.         }  
    27.   
    28.         @Override  
    29.         public void onNothingSelected(AdapterView<?> arg0) {  
    30.             // TODO Auto-generated method stub  
    31.               
    32.         }  
    33.     });  
    34.   
    35. }  

    main.xml:

    [java] view plaincopy
     
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    3.     android:orientation="vertical"  
    4.     android:layout_width="fill_parent"  
    5.     android:layout_height="fill_parent"  
    6.     >  
    7.     <Spinner android:id="@+id/Spinner_mySpinner"   
    8.     android:layout_width="wrap_content"   
    9.     android:layout_height="wrap_content"></Spinner>  
    10.   
    11. </LinearLayout>  

    运行结果如图:

    以上方法出自于:http://blog.csdn.net/zhangmengxiong/article/details/6291706

  • 相关阅读:
    fzuoj Problem 2177 ytaaa
    zoj The 12th Zhejiang Provincial Collegiate Programming Contest Capture the Flag
    zoj The 12th Zhejiang Provincial Collegiate Programming Contest Team Formation
    zoj The 12th Zhejiang Provincial Collegiate Programming Contest Beauty of Array
    zoj The 12th Zhejiang Provincial Collegiate Programming Contest Lunch Time
    zoj The 12th Zhejiang Provincial Collegiate Programming Contest Convert QWERTY to Dvorak
    zoj The 12th Zhejiang Provincial Collegiate Programming Contest May Day Holiday
    zoj The 12th Zhejiang Provincial Collegiate Programming Contest Demacia of the Ancients
    zjuoj The 12th Zhejiang Provincial Collegiate Programming Contest Ace of Aces
    csuoj 1335: 高桥和低桥
  • 原文地址:https://www.cnblogs.com/seely/p/4272683.html
Copyright © 2011-2022 走看看