MultiTypeAdapter(仿淘宝购物车)
RecyclerView与DataBinding封装
以购物车为例
1、创立一个类,并继承MultiTypeAdapter
当然也可以创立自己的ViewHolder
/** * 多类型viewType * 1、每种类型必需有对应的javabean,且必需实现RecyclerData接口,返回值可以不连续,但是必需不同; * 2、getLayoutRes(int viewType)必需返回对应的layout id; * 3、onBindViewHolder()方法中也必需将viewdatabinding这强转成对应的子类,数据也需要强转 * 4、假如没有重写onCreateViewHolder()方法,则创立ViewHolder; * 5、注释部分是使用自己设置的ViewHolder */public class ShoppingTrolleyAdapter extends MultiTypeAdapter { /** * 绑定数据到View中 * <p> * 可以使用getItemViewType(position)获取对应的viewType * * @param position * @param viewHolder */ @Override protected void onBindViewHolder(int position, ViewHolder viewHolder) { switch (getItemViewType(position)) { case 0: ((ItemTopBinding) viewHolder.getBinding()).setGoodsTop((GoodsTopInfo) getDataList().get(position)); break; case 1: ((ItemCentreBinding) viewHolder.getBinding()).setGoodsCenter((GoodsCentreInfo) getDataList().get(position)); break; case 2: ((ItemBottomBinding) viewHolder.getBinding()).setGoodsBottom((GoodsBottomInfo) getDataList().get(position)); break; } } /** * 获取每种viewType对应的layout文件 * * @param viewType 即RecyclerData中get_RV_ItemViewType()的返回值 * @return */ @Override protected int getLayoutRes(int viewType) { switch (viewType) { case 0: return R.layout.item_top; case 1: return R.layout.item_centre; case 2: return R.layout.item_bottom; } return -1; }}2、实例化对象并设置点击事件
mShoppingTrolleyAdapter = new ShoppingTrolleyAdapter();3、为RecyclerView设置Adapter
mRecyclerView.setAdapter(mShoppingTrolleyAdapter);4、刷新或者写入数据
注意:必需在mRecyclerView.setAdapter(mFriendAdapter);才能写入数据
mShoppingTrolleyAdapter.refresh(data);说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » MultiTypeAdapter(仿淘宝购物车)
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » MultiTypeAdapter(仿淘宝购物车)