教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

Android 推荐几款好用的开源作品(二)之万能RecyclerView适配器(3)

来源:网络收集 时间:2026-09-10
导读: [java] view plain copy 在CODE上查看代码片派生到我的代码片 public class MultipleItemQuickAdapter extends BaseMultiItemQuickAdapter { public MultipleItemQuickAdapter(List data) { super(data); addItemTy

[java] view plain copy 在CODE上查看代码片派生到我的代码片

public class MultipleItemQuickAdapter extends BaseMultiItemQuickAdapter {

public MultipleItemQuickAdapter(List data) { super(data);

addItemType(MultipleItem.TEXT, R.layout.text_view); addItemType(MultipleItem.IMG, R.layout.image_view); }

@Override

protected void convert(BaseViewHolder helper, MultipleItem item) { switch (helper.getItemViewType()) { case MultipleItem.TEXT:

helper.setImageUrl(R.id.tv, item.getContent()); break;

case MultipleItem.IMG:

helper.setImageUrl(R.id.iv, item.getContent()); break; } } }

8、使用setEmptyView

[java] view plain copy 在CODE上查看代码片派生到我的代码片 mQuickAdapter.setEmptyView(getView()); 9、使用拖拽与滑动删除

[java] view plain copy 在CODE上查看代码片派生到我的代码片

OnItemDragListener onItemDragListener = new OnItemDragListener() { @Override

public void onItemDragStart(RecyclerView.ViewHolder viewHolder, int pos){} @Override

public void onItemDragMoving(RecyclerView.ViewHolder source, int RecyclerView.ViewHolder target, int to) {} @Override

public void onItemDragEnd(RecyclerView.ViewHolder viewHolder, int pos) {} }

from, OnItemSwipeListener onItemSwipeListener = new OnItemSwipeListener() { @Override

public void onItemSwipeStart(RecyclerView.ViewHolder viewHolder, int pos) {} @Override

public void clearView(RecyclerView.ViewHolder viewHolder, int pos) {} @Override

public void onItemSwiped(RecyclerView.ViewHolder viewHolder, int pos) {} };

ItemDragAndSwipeCallback itemDragAndSwipeCallback = new ItemDragAndSwipeCallback(mAdapter);

ItemTouchHelper itemTouchHelper = new ItemTouchHelper(itemDragAndSwipeCallback); itemTouchHelper.attachToRecyclerView(mRecyclerView);

// 开启拖拽

mAdapter.enableDragItem(itemTouchHelper, R.id.textView, true); mAdapter.setOnItemDragListener(onItemDragListener);

// 开启滑动删除

mAdapter.enableSwipeItem();

mAdapter.setOnItemSwipeListener(onItemSwipeListener);

感觉每一个功能都很实用,目前也在努力在项目中进行测试使用。

最常用的莫过于下拉刷新,上拉加载的,基本每个页面都会用到刷新,需要分页的页面还会用到加载。曾经搜了下网上的相关于这方面的资源,感觉基本没有将RecyclerView配合SwipeRefreshLayout做到很好能刷新和加载的。其他的都是自定义的ListView 和GridView实现的刷新和加载,由于不太想用ListView了,所以就换成了RecyclerView,闲淡少扯,实战继续。 先上图:

需求分析:通过接口返回的数据需要进行分页

[java] view plain copy 在CODE上查看代码片派生到我的代码片 {

\

\ \ {

\省\ \市\

\区XX路\

\ \

\电视U55H3\ \

\ \

\ } ] }

Adapter

[java] view plain copy 在CODE上查看代码片派生到我的代码片

public class QuickAdapter extends BaseQuickAdapter {

private ImageLoader imageLoader = ImageLoader.getInstance();

public QuickAdapter(List data) { super(data); }

public QuickAdapter(int layoutResId, List data) { super(layoutResId, data); }

@Override

protected void convert(BaseViewHolder helper, ScanRecordRowEntity item) { helper.setText(R.id.tv_product_name, item.getProduct_name()) .setText(R.id.tv_time, item.getScan_time())

.setText(R.id.tv_place, item.getProvince() + item.getCity());

// imageLoader.displayImage(item.getProduct_small_image(), (ImageView) helper.getView(R.id.img_product_logo), ImageLoaderUtils.getDefaultOptions());

Glide.with(mContext)

.load(item.getProduct_small_image()) .fitCenter()

.placeholder(R.drawable.ic_product_default) .crossFade()

.into((ImageView) helper.getView(R.id.img_product_logo)); } }

Activity

[java] view plain copy 在CODE上查看代码片派生到我的代码片 public class ScanRecordTestActivity extends BaseActivity implements SwipeRefreshLayout.OnRefreshListener, BaseQuickAdapter.RequestLoadMoreListener {

private List list = new ArrayList<>(); private String encode;

…… 此处隐藏:1401字,全部文档内容请下载后查看。喜欢就下载吧 ……
Android 推荐几款好用的开源作品(二)之万能RecyclerView适配器(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/604827.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)