spinner中保存的是对象,请问我怎么决定spinner显示对象中的哪个字段?????我的做法:adapter<obj> adpt = new adapter<obj>(context,simple_spinner_item);adpt.add(obj);
adpt.add(obj);
adpt.add(obj);spinner.setAdapter(adpt);
然后应该是指定spinner中显示obj中的某个属性,但是怎么指定????

解决方案 »

  1.   

    只显示属性为什么要用adapter<obj>而不是直接adapter<属性>,然后adpt.add(属性)呢? 
    不是太明白..坐等答案.
      

  2.   

    可以有很多种adapter吧。。用ArrayAdapter不就可以显示单个字符串了么
      

  3.   

    请参考:
    AndroidGUI03:Spinner的常用技巧
      

  4.   


    这是泛型编程。ArrayAdapter<T>中的T是泛型参数。比如,
    如果你要在ArrayAdapter对象中存入String,那么你就这么写:
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(...);
    如果你要在ArrayAdapter对象中存入int,那么你就这么写:
    ArrayAdapter<int> adapter = new ArrayAdapter<int>(...);
      

  5.   

    你们都没懂我在说什么, 看来是我描述得有问题...不知道你们有没有用过html标签里的select标签
    举个例子
    有3个对象
    class obj1
    {
    id = a;
    str = "沃尔沃"
    }class obj2
    {
    id = b;
    str = "奔驰"
    }class obj3
    {
    id = c;
    str = "奥迪"
    }html中的表现:
    <select>
      <option value="a">沃尔沃</option>
      <option value="b">奔驰</option>
      <option value="c">奥迪</option>
    </select>就是说返回值和显示的内容是不相关的
    现在我要把这种形式用在android的spinner中
    所以我才传的对象进去,可以显示,但是显示的是对象的地址
    现在我要让spinner显示对象的str属性,并且返回对象的id属性,或者直接返回这个对象后来我查api,发现可以用spinner.getSelectedItem()返回选中的对象,但是要怎么显示对象的str属性....?????????????????应该能看明白了吧!!!!!
      

  6.   

    就直接显示str不就行了,然后做个和SelectedItemId对应的map存储object对象,让str和object关联上
      

  7.   

    adpt.add(obj);
    在spinner关联的adapter里这样设置,最后显示的是obj.toString();
    因此,你可以重载obj类的toString方法,返回你想显示的属性值即可