• 在android的spinner中,实现取VALUE值和TEXT值。 ZT


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

     

    为了实现在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<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() ;

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

    写的比较简单,应该能够看的懂。在android的spinner中,实现取VALUE值和TEXT值。 - 0o透气o0 - 让自己变懒...

  • 相关阅读:
    BOM与DOM的区别与联系
    HTTP与HTTPS的区别
    总结一下C++与C#之间的区别
    点标记(lambda表达式+linq查询标记符)与linq语句(查询表达式)
    java多线程:继承Thread和实现Runable接口的区别
    打印BroadcastReceiver的所有接受者
    修改apk里面的源码
    关于启动模式中的问题
    onSaveInstanceState和onRestoreInstanceState()
    Options Menu的android3.0以上和以下版本显示刷新原理,刷新适配
  • 原文地址:https://www.cnblogs.com/weiryang/p/3340793.html
Copyright © 2020-2023  润新知