学习Android自定义Spinner适配器
程序员文章站
2024-02-29 23:09:28
本文为大家分享android自定义spinner适配器的相关知识点,供大家参考,具体内容如下
一、大致效果
二.关键代码
在注释中讲重点吧。
(1)spinn...
本文为大家分享android自定义spinner适配器的相关知识点,供大家参考,具体内容如下
一、大致效果
二.关键代码
在注释中讲重点吧。
(1)spinner的布局: car_brand_spinner.xml
即为弹出来的下拉列表的布局啦,后面的那个布局就不拿出来丢人现眼了,反正知道有一个spinner的id为carbrandspinner就可以了。
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <relativelayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10dp"> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="new text" android:id="@+id/car_brand_name" android:layout_gravity="left" android:layout_alignparentleft="true" android:layout_margintop="5dp" android:layout_marginbottom="5dp" /> <imageview android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/car_brand_flag" android:layout_gravity="right" android:layout_alignparentright="true" /> </relativelayout> </linearlayout>
(2)适配器
arrayadapter carbrandadapter=new arrayadapter<string> ( addcaractivity.this, android.r.layout.simple_spinner_dropdown_item, carbrandnamelist//是string[],就是所有要显示的brandname ){ @override public view getdropdownview(int position, view convertview, viewgroup parent) { convertview = view.inflate(addcaractivity.this,r.layout.car_brand_spinner,null);//获得spinner布局view if(convertview!=null) { textview carbrandnameview = (textview)convertview.findviewbyid(r.id.car_brand_name); imageview carbrandflagview = (imageview)convertview.findviewbyid(r.id.car_brand_flag); try { jsonobject json = new jsonobject(carbrandlist.get(position).get("carbrand").tostring()); carbrandnameview.settext(json.getstring("carbrandname"));//设置数据,我这里的数据是从服务器读出来的,所以前面有一个转化取值的过程 }catch (exception e){} bitmap bitmap =common.string2bitmap(carbrandlist.get(position).get("carbrandflagcontent").tostring());//这里也一样,图片数据来自于服务器,同时有一个将数据从string转bitmap的过程 if(bitmap!=null) carbrandflagview.setimagebitmap(bitmap);//显示图片 } return convertview; } }; //给spinner set适配器 spinner carbrandspinner=(spinner)findviewbyid(r.id.carbrandspinner); carbrandspinner.setadapter(carbrandadapter); carbrandspinner.setonitemselectedlistener(new adapterview.onitemselectedlistener() { @override//重写item被选择的事件 public void onitemselected(adapterview<?> parent, view view, int position, long id) {} @override public void onnothingselected(adapterview<?> parent) {} });
到此结束!
以上就是关于android spinner适配器的全部内容,希望对大家的学习有所帮助。
推荐阅读
-
Android自定义控件深入学习 Android生成随机验证码
-
Android自定义控件深入学习 Android生成随机验证码
-
Android自定义View学习之圆角图片(圆形图片)
-
Android编程中常用适配器及自定义适配器用法实例分析
-
Android列表实现(3)_自定义列表适配器思路及实现代码
-
Android中 自定义数据绑定适配器BaseAdapter的方法
-
Android编程中常用适配器及自定义适配器用法实例分析
-
Android列表实现(3)_自定义列表适配器思路及实现代码
-
Android自定义Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)
-
Android中 自定义数据绑定适配器BaseAdapter的方法