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中的某个属性,但是怎么指定????
adpt.add(obj);
adpt.add(obj);spinner.setAdapter(adpt);
然后应该是指定spinner中显示obj中的某个属性,但是怎么指定????
解决方案 »
- 关于手机QQ2012数据文件加密
- android中导入的项目报错 clear 没用 android Tool 也没用
- android 问题求救
- CTS测试中遇到的问题
- startActivityForResult发出的Intent没有处理
- Ansi字符串的问题
- 求牛人指点ContentResolver.delete()里面参数含义
- android studio中文注释乱码问题
- OpenCV4Android 导入Samples时,涉及C/C++的工程会报错找不到-lopencv_java
- android 通过listview 获取数据库某一列的内容,如果有内容就修图片。
- Android中一个class可以有几个Listener?
- 程序运行出现异常,有高手帮我解决一下!!谢谢!!!
不是太明白..坐等答案.
AndroidGUI03:Spinner的常用技巧
这是泛型编程。ArrayAdapter<T>中的T是泛型参数。比如,
如果你要在ArrayAdapter对象中存入String,那么你就这么写:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(...);
如果你要在ArrayAdapter对象中存入int,那么你就这么写:
ArrayAdapter<int> adapter = new ArrayAdapter<int>(...);
举个例子
有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属性....?????????????????应该能看明白了吧!!!!!
在spinner关联的adapter里这样设置,最后显示的是obj.toString();
因此,你可以重载obj类的toString方法,返回你想显示的属性值即可