`

spinner中ArrayAdapter中传递对象的用法

 
阅读更多

spinner中ArrayAdapter中传递对象的用法

描述:
一般情况下,我们会用ArrayList<String>来填充Spinner中的Adapter。
但有时,我们需要传递一些对象,比如选择用户的时候,显示的是用户名,但我们要处理的是用户ID。
这时侯如果用ArrayList<String>,则不能满足我们的需求,因为,ID没地方储存。

查阅API,发现ArrayAdapter的类声明为ArrayAdapter<T>,说明,我们可以把T替换成我们想要的对象。

于是我们可以构建如下的语句:
ArrayList<User> users = new ArrayList<User>();
ArrayAdapter<Group> adapter = new ArrayAdapter<Group>(
this,
android.R.layout.simple_spinner_item,
users
);
但这时有会遇到一个问题,既然你传递过来的是一个obj,但我的要求是:显示用name显示,处理用id,这个怎么实现咧。
答案是,重写User的toString()方法,只返回name。这样就能满足我们的需求啦。
当然,这只是一种简单的做法,一般情况下,还有另一种写法,就是重写adapter。

分享到:
评论

相关推荐

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的对话框——AlertDialog窗口 3.13 置换文字颜色的机关——Button与TextView...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的对话框——AlertDialog窗口 3.13 置换文字颜色的机关——Button与TextView...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的对话框——AlertDialog窗口 3.13 置换文字颜色的机关——Button与TextView...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的对话框——AlertDialog窗口 3.13 置换文字颜色的机关——Button与...

    Google Android SDK开发范例大全(完整版)

    3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的对话框——AlertDialog窗口 3.13 置换文字颜色的机关——Button与TextView...

    Google Android SDK开发范例大全的目录

    3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的对话框——AlertDialog窗口 3.13 置换文字颜色的机关——Button与TextView...

    Google+Android+SDK开发范例大全

    3.8 手机页面的转换——setContentView的应用 3.9 调用另一个Activity——Intent对象的使用 3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 ...

    精通ANDROID 3(中文版)1/2

    24.4.5 使用语言方法  24.5 参考资料  24.6 小结  第25章 触摸屏  25.1 MotionEvent  25.1.1 MotionEvent 对象  25.1.2 回收MotionEvent  25.1.3 使用VelocityTracker  25.1.4 探索拖放操作  25.2...

    Google Android sdk 开发范例大全 部分章节代码

    3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的对话框——AlertDialog窗口 3.13 置换文字颜色的机关——Button与TextView...

    Google Android SDK 开发范例大全01

    3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的对话框——AlertDialog窗口 3.13 置换文字颜色的机关——Button与TextView...

    Google Android SDK 开发范例大全02

    3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的对话框——AlertDialog窗口 3.13 置换文字颜色的机关——Button与TextView...

    精通Android 3 (中文版)2/2

    24.4.5 使用语言方法  24.5 参考资料  24.6 小结  第25章 触摸屏  25.1 MotionEvent  25.1.1 MotionEvent 对象  25.1.2 回收MotionEvent  25.1.3 使用VelocityTracker  25.1.4 探索拖放操作  25.2...

    星座说明书

    通过创建线程对象,然后自动调用了run()方法,到达设置的时间时自动跳转启动进入下一个Activity界面。  3.1.2程序 //定义欢迎界面类 public class LaunchActivity extends Activity{ @Override protected void ...

Global site tag (gtag.js) - Google Analytics