在android的spinner中,實現取VALUE值和TEXT值

爲了實如今android的spinner實現取VALUE值和TEXT值,我嘗試過好些辦法,在網上查的資料,都是說修改適配器,剛開始我也是經過修改適配器的方法來作的,可是若是一個activity有多個spinner,就須要多聲明幾個適配器的全局變量。後面查看適配器的源碼發現,其實沒有必要修改適配器,直接往適配器裏面傳對象,而後重寫對象的toString()方法就能夠簡單解決。閒話少說,貼代碼:java

先聲明一個對象,並重寫對象的toString()。android

public class CItem {
    private String ID = "";
    private String Value = "";
    public CItem () {
        ID = "";
        Value = "";
    }
    public CItem (String _ID, String _Value) {
        ID = _ID;
        Value = _Value;
    }
     @Override
    public String toString() {           //爲何要重寫toString()呢?由於適配器在顯示數據的時候,若是傳入適配器的對象不是字符串的狀況下,直接就使用對象.toString()
      return Value;
    }
    public String GetID() {
        return ID;
    }
    public String GetValue() {
        return Value;
     }
}

而後聲明對象實例並加入到arraylist裏面,並設置spinner的適配器ide

Spinner Sp = (Spinner).............//
List<CItem > lst = new ArrayList<CItem>();
CItem  ct = new CItem ("1","測試");
lst.Add(ct);;
ArrayAdapter<CItem > Adapter = new ArrayAdapter<CItem>(context,
    android.R.layout.simple_spinner_item, lst);
Sp.SetAdapter(Adapter);

取值:測試

若是取TEXT值則能夠直接取:Sp.getSelectedItem.ToString()或者:((CItem)Sp.getSelectedItem). GetValue() ;spa

若是去Value值則能夠這樣取:((CItem)Sp.getSelectedItem).GetID();code

 

寫的比較簡單,應該可以看的懂。在android的spinner中,實現取VALUE值和TEXT值。 - 0o透氣o0 - 讓本身變懶...orm

相關文章
相關標籤/搜索