下拉列表框Spinner-采用javabean作为Adapter元素

Posted Veer Han

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下拉列表框Spinner-采用javabean作为Adapter元素相关的知识,希望对你有一定的参考价值。

很多时候显示在下拉列表框的值并不是希望得到的值,如果要做一个联系人下拉列表框,列表框列出的是联系人的姓名,因为姓名有可能相同,所以我们希望得到的值应该为该联系人的id,要实现这种需求我们需要自定义Adapter,当然自定义Adapter需要我们编写一小段代码,如果我们不想编写Adapter,又能实现我们的需求,那是最好不过的了。通过观察ArrayAdapter中getView(int position, View convertView, ViewGroup parent)的内部代码发现,如果为ArrayAdapter指定的实际泛型参数类型没有实现CharSequence(字符串)接口,将会调用该类型对象的toString()向下拉列表框输出显示值。利用这个特点我们可以重写javaBean的toString()向下拉列表框提供显示值。

效果图,下拉列表显示的是name。

1.在activity_main.xml中添加Spinner控件
2.在MainActivity中添加一个内部类class User

3.完成MainActivity代码的编写

如果User的toString方法改为return phone,其他代码不变,则下拉列表中显示的是phone。

以上是关于下拉列表框Spinner-采用javabean作为Adapter元素的主要内容,如果未能解决你的问题,请参考以下文章

自定义Spinner下拉菜单(下拉列表框)样式

下拉框(Spinner)

下拉列表框Spinner的使用

Android零基础入门第46节:下拉框Spinner

Android开发系列(二十一):Spinner的功能和使用方法以及实现列表选择框

android 中如何设置Spinner点击后弹出的下拉列表的宽度样式