android 开发之 ListView 与Adapter 应用实践
程序员文章站
2022-03-20 15:11:14
在开发android中,ListView 的应用显得非常频繁,只要需要显示列表展示的应用,可以说是必不可少,下面是记录开发中应用到ListView与Adapter 使用的实例: ListView 所在页面中的布局(listview_item.xml): Adapter 展示的布局 (item.xml ......
在开发android中,listview 的应用显得非常频繁,只要需要显示列表展示的应用,可以说是必不可少,下面是记录开发中应用到listview与adapter 使用的实例:
listview 所在页面中的布局(listview_item.xml):
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:focusable="true" android:focusableintouchmode="true"> <listview android:id="@+id/listview_item" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="@null" android:scrollbars="none"> </linearlayout>
adapter 展示的布局 (item.xml):
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <linearlayout android:id="@+id/layout_sub_item_content" android:layout_width="match_parent" android:layout_height="50dp"> <imageview android:id="@+id/img_choose" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:padding="10dp" android:src="@drawable/xuanzhong_icon" android:layout_gravity="center_vertical" /> <textview android:id="@+id/textview_name" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="4" android:gravity="center_vertical" android:fontfamily="noto-sans-hans-regular" android:textsize="14sp" android:textcolor="#333333" android:text="项目名称" android:paddingleft="5dp"/> <textview android:id="@+id/textview_price" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="2" android:fontfamily="noto-sans-hans-regular" android:textsize="14sp" android:textcolor="#333333" android:text="454.0" android:gravity="center"/> <textview android:id="@+id/textview_vip" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="2" android:fontfamily="noto-sans-hans-regular" android:textsize="14sp" android:text="非会员价" android:gravity="center" android:textcolor="@color/red"/> </linearlayout> </linearlayout>
activity_item.java:
/** * 项目列表适配器 */ private mybaseadapt iteminfoadapt; @injectview(r.id.listview_item) listview listview_item; private class viewholder { textview textview_name; textview textview_price; textview textview_vip; imageview img_choose; } /** *项目数据list */ private list<iteminfo> listiteminfo=new arraylist<>(); /** * 初始化列表 */ private void inititemlistview() { iteminfoadapt = new mybaseadapt<iteminfo>(this, r.layout.item, listiteminfo) { @override public view myadapt(int position, view convertview, view mview, list<iteminfo> mentitylist) { viewholder holder = null; if (convertview == null) { convertview = mview; holder = new viewholder(); holder.textview_name = (textview) convertview.findviewbyid(r.id.textview_name); holder.textview_price = (textview) convertview.findviewbyid(r.id.textview_price); holder.textview_vip = (textview) convertview.findviewbyid(r.id.textview_vip); holder.img_choose=(imageview) convertview.findviewbyid(r.id.img_choose); convertview.settag(holder); } else { holder = (viewholder) convertview.gettag(); } iteminfo iteminfo = mentitylist.get(position); holder.textview_name.settext(iteminfo.getname()); holder.textview_price.settext(pricemanager.getprice(iteminfo.getpricestr(), iteminfo.getpricetypestr()).get(common.price_type_origin)); holder.textview_vip.settext(pricemanager.getprice(iteminfo.getpricestr(), iteminfo.getpricetypestr()).get(common.price_type_pioneer));
return convertview; } }; listview_item.setadapter(iteminfoadapt); }