android获取spinner的值_在android的spinner中,实现取VALUE值和TEXT值

在Android开发中,为了从Spinner中获取VALUE和TEXT值,通常需要自定义适配器。但其实可以通过创建一个包含ID和Value的类,重写toString()方法,将对象直接传入适配器。这样在获取选中项时,可以直接调用对象的方法得到所需值。示例代码展示了如何创建此类并设置Spinner,以及如何取TEXT和VALUE。
摘要由CSDN通过智能技术生成

为了实现在android的spinner实现取VALUE值和TEXT值,我尝试过好些办法,在网上查的资料,都是说修改适配器,刚开始我也是通过修改适配器的方法来做的,但是如果一个activity有多个spinner,就需要多声明几个适配器的全局变量。后面查看适配器的源码发现,其实没有必要修改适配器,直接往适配器里面传对象,然后重写对象的toString()方法就可以简单解决。闲话少说,贴代码:

先声明一个对象,并重写对象的toString()。

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()

// TODO Auto-generated method stub

return Value;

}

public String GetID() {

return ID;

}

public String GetValue() {

return Value;

}

}

然后声明对象实例并加入到arraylist里面,并设置spinner的适配器

Spinner Sp = (Spinner).............//

List lst = new ArrayList();

CItem  ct = new CItem ("1","测试");

lst.Add(ct);

ArrayAdapter Adapter = new ArrayAdapter(context,

android.R.layout.simple_spinner_item, lst);

Sp.SetAdapter(Adapter);

取值:

如果取TEXT值则可以直接取:Sp.getSelectedItem.ToString()或者:((CItem)Sp.getSelectedItem). GetValue() ;

如果去Value值则可以这样取:((CItem)Sp.getSelectedItem).GetID();

写的比较简单,应该能够看的懂。

转自:http://blog.163.com/fjshqhy_2003/blog/static/140268782010989384539/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值