随笔 - 0, 文章 - 264, 评论 - 170, 引用 - 0
数据加载中……

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。

posted on 2011-08-10 16:57 小一败涂地 阅读(3848) 评论(0)  编辑  收藏 所属分类: android+移动开发


只有注册用户登录后才能发表评论。


网站导航: