iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android中封装RecyclerView实现添加头部和底部示例代码
  • 433
分享到

Android中封装RecyclerView实现添加头部和底部示例代码

androidrecyclerview封装头部尾部 2023-05-30 22:05:36 433人浏览 薄情痞子
摘要

前言我们大家都知道ListView具有添加头部和添加底部的方法,但是RecyclerView并没有这样子的方法。所以RecyclerView是不能添加底部和头部的,但是能不能仿造ListView来实现RecyclerView添加头部和底部呢

前言

我们大家都知道ListView具有添加头部和添加底部的方法,但是RecyclerView并没有这样子的方法。所以RecyclerView是不能添加底部和头部的,但是能不能仿造ListView来实现RecyclerView添加头部和底部呢?答案当然是可行的。本文就来给大家介绍了关于Android封装RecyclerView添加头部和底部的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

首先看下实现的效果:

Android中封装RecyclerView实现添加头部和底部示例代码

代码如下:

public class WrapMyRecyclerView extends RecyclerView { private Adapter mAdapter; private ArrayList<View> mHeaderViewInfos = new ArrayList<>();//保存headerView private ArrayList<View> mFooterViewInfos = new ArrayList<>();//保存footerView public WrapMyRecyclerView(Context context) {  super(context); } public WrapMyRecyclerView(Context context, @Nullable AttributeSet attrs) {  super(context, attrs); } public WrapMyRecyclerView(Context context, @Nullable AttributeSet attrs, int defStyle) {  super(context, attrs, defStyle); }  public void addHeaderView(View v) {  mHeaderViewInfos.add(v);  // Wrap the adapter if it wasn't already wrapped.  if (mAdapter != null) {   if (!(mAdapter instanceof RecyclerHeaderViewListAdapter)) {    wrapHeaderListAdapterInternal();   }  } }  public void addFooterView(View v) {  mFooterViewInfos.add(v);  // Wrap the adapter if it wasn't already wrapped.  if (mAdapter != null) {   if (!(mAdapter instanceof RecyclerHeaderViewListAdapter)) {    wrapHeaderListAdapterInternal();   }  } }  @Override public void setAdapter(Adapter adapter) {  if (mHeaderViewInfos.size() > 0 || mFooterViewInfos.size() > 0) {   mAdapter = wrapHeaderListAdapterInternal(mHeaderViewInfos, mFooterViewInfos, adapter);  } else {   mAdapter = adapter;  }  super.setAdapter(mAdapter); } private void wrapHeaderListAdapterInternal() {  mAdapter = wrapHeaderListAdapterInternal(mHeaderViewInfos, mFooterViewInfos, mAdapter); }  protected RecyclerHeaderViewListAdapter wrapHeaderListAdapterInternal(   ArrayList<View> headerViewInfos,   ArrayList<View> footerViewInfos,   Adapter adapter) {  return new RecyclerHeaderViewListAdapter(headerViewInfos, footerViewInfos, adapter); }}

--结束END--

本文标题: Android中封装RecyclerView实现添加头部和底部示例代码

本文链接: https://www.lsjlt.com/news/221474.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作