在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

相关文章
相关标签/搜索