来自:mjsws > 馆藏分类
配色: 字号:
Android开发中ListView绑定数据知识讲解
2018-12-15 | 阅:  转:  |  分享 
  
Android开发中ListView绑定数据知识讲解List服务一般有4种绑定方法:本文使用自定义适配器继承BaseAdapter来实现数据
绑定,废话不说,直接上代码:1.自定义适配器:ShoppingProductAdapter?1234567891011121314
15161718192021222324252627282930313233343536373839404142434445464
74849505152535455565758596061626364656667686970717273747576777879
80818283848586878889909192939495969798991001011021031041051061071
08109110111112113114115116117118119120121122123124125126127128129
13013113213313413513613713813914014114214314414514614714814915015
11521531541551561571581591601611621631641651661671681691701711721
73174175176177178179180181182183184185186187188189190191192193194
195196197198199200201202packagecom.example.msh.ModelInfo.Adapter
;?importandroid.app.Activity;importandroid.view.LayoutInflater;
importandroid.view.View;importandroid.view.ViewGroup;importand
roid.widget.BaseAdapter;importandroid.widget.ImageButton;import
android.widget.TextView;?importcom.example.msh.mshaliapp.Product
CartActivity;importcom.example.msh.mshaliapp.R;?importjava.util
.List;?/?购物商品Adapter容器数据适配器?Author:William(徐威)?CreateTim
e:2018-07-25?/publicclassShoppingProductAdapterextendsBaseAd
apter{?//公共对象?ListproductList;?Acti
vityCon;?privateLayoutInflatermInflater;??//构造函数?publicShoppi
ngProductAdapter(Activitycontext,Listo>list){?this.productList=list;//获取传过来的数据?this.Con=context;
?this.mInflater=context.getLayoutInflater();?//LayoutInflater.f
rom(context);?}??//获取数量638棋牌http://dadiqipaigw.cn?@Override?publi
cintgetCount(){?returnproductList.size();?}??@Override?public
ObjectgetItem(intposition){?returnposition;?}??@Override?pub
liclonggetItemId(intposition){?returnposition;?}??/?视图标签
赋值?Author:William(徐威)?CreateTime:2018-07-25?/?@Override?pub
licViewgetView(inti,Viewview,ViewGroupviewGroup){?Viewro
w=view;?ShoopingProductWrapperwrapper;?if(row==null){//我们要
适配的控件所在的视图row=mInflater.inflate(R.layout.adapter_shopping_product
,viewGroup,false);wrapper?=newShoopingProductWrapper(row);ro
w.setTag(wrapper);?}else{wrapper=(ShoopingProductWrapper)row
.getTag();?}??//商品系统号?TextViewProductSysNo=wrapper.getProductSys
No();?//商品编号?TextViewProductID=wrapper.getProductID();?//商品名称?Te
xtViewProductName=wrapper.getProductName();?//商品价格?TextViewPric
e=wrapper.getPrice();?//购物数量/单位?TextViewProductNum=wrapper.getPr
oductNum();?//商品金额?TextViewProductAmt=wrapper.getProductAmt();?/
/商品序号?TextViewProductCartNumber=wrapper.getProductCartNumber();?
?//设置控件要显示的文字?ProductSysNo.setText(String.valueOf(productList.get
(i).getProductSysNo()));?ProductID.setText(productList.get(i).get
ProductID());??//商品名称切割处理?StringproductName=productList.get(i)
.getProductName();?if(productName.length()>17){productName=
String.format("%s..",productName.substring(0,18));?}?ProductNam
e.setText(productName);??Price.setText(productList.get(i).getPric
e());?ProductNum.setText(productList.get(i).getProductNum());?Pro
ductAmt.setText(productList.get(i).getProductAmt());?ProductCartN
umber.setText(String.valueOf(productList.get(i).getProductCartNu
mber()));???//得到listview上的按钮?ImageButtonimgBtnDeleteProduct=ro
w.findViewById(R.id.imgBtnDeleteProduct);?imgBtnDeleteProduct.set
OnClickListener(newView.OnClickListener(){?@Overridepublicvoid
onClick(Viewview){?//得到当前父对象?Viewlist=(View)(view.getParen
t().getParent());?//同级的其它对象?intproductSysNo=Integer.parseInt((
(TextView)list.findViewById(R.id.tvProductSysNo)).getText().toSt
ring());?((ProductCartActivity)Con).imgBtnDeleteProduct_listener(
productSysNo);}?});???returnrow;?}??/?商品购物车Adapter容器?Auth
or:William(徐威)?CreateTime:2018-07-26?/?classShoopingProductW
rapper{??publicShoopingProductWrapper(Viewrow){this.row=row;?
}??privateViewrow;??//商品系统号棋牌评测网http://www.77884.net?publicTex
tViewProductSysNo;??//商品编号?publicTextViewProductID;??//商品名称?pu
blicTextViewProductName;??//商品价格?publicTextViewPrice;??//购物数量
/单位?publicTextViewProductNum;??//商品金额?publicTextViewProductAm
t;??//商品序号?publicTextViewProductCartNumber;??publicTextViewge
tProductSysNo(){if(ProductSysNo==null){?ProductSysNo=(Text
View)row.findViewById(R.id.tvProductSysNo);}returnProductSysNo;
?}??publicTextViewgetProductID(){if(ProductID==null){?Prod
uctID=(TextView)row.findViewById(R.id.tvProductID);}returnPro
ductID;?}??publicTextViewgetProductName(){if(ProductName==n
ull){?ProductName=(TextView)row.findViewById(R.id.tvProductNa
me);}returnProductName;?}??publicTextViewgetPrice(){if(Price
==null){?Price=(TextView)row.findViewById(R.id.tvPrice);}re
turnPrice;?}??publicTextViewgetProductNum(){if(ProductNum==
null){?ProductNum=(TextView)row.findViewById(R.id.tvProductN
um);}returnProductNum;?}??publicTextViewgetProductAmt(){if(P
roductAmt==null){?ProductAmt=(TextView)row.findViewById(R.i
d.tvProductAmt);}returnProductAmt;?}??publicTextViewgetProduct
CartNumber(){if(ProductCartNumber==null){?ProductCartNumber
=(TextView)row.findViewById(R.id.tvProductCartNumber);}returnP
roductCartNumber;?}?}}
uctadapterinfo>2.代码中我使用到的适配器数据实体类:ShoppingProductAdapterInfo就不具体
贴出代码了乐淘棋牌http://www.letaoqpyx.com?123456/商品购物车Adapter实体类Au
thor:William(徐威)CreateTime:2018-07-25/publicclassShoppingProductAdapterInfoextendsObjectimplementsSerializable{//此处不具体申明属性了,仅做参考}3.Activity页面调用:?1234//填充购物篮fillShoppingProduct(false);//此方法是我的业务逻辑方法,大家不用参考,主要调用是下面2句shoppingAdapter=newShoppingProductAdapter(this,shoppingCartList);//绑定适配器lvProductCartList.setAdapter(shoppingAdapter);//设置listview的数据源为adapte
献花(0)
+1
(本文系mjsws首藏)