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

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

效果图,下拉列表显示的是name。
下拉列表框Spinner-采用javabean作为Adapter元素_第1张图片

1.在activity_main.xml中添加Spinner控件
2.在MainActivity中添加一个内部类class User{}
下拉列表框Spinner-采用javabean作为Adapter元素_第2张图片
3.完成MainActivity代码的编写
下拉列表框Spinner-采用javabean作为Adapter元素_第3张图片
如果User的toString方法改为return phone,其他代码不变,则下拉列表中显示的是phone。
这里写图片描述
下拉列表框Spinner-采用javabean作为Adapter元素_第4张图片

你可能感兴趣的:(Spinner)