强大的BaseRecyclerViewAdapterHelper使用

2023-11-01

介绍

这里写图片描述
相信大家RecyclerView应该不会陌生,大多数开发者应该都使用上它了,它也是google推荐替换ListView的控件,但是用过它的同学应该都知道它在某些方面并没有ListView使用起来方便,需要我们额外的编写代码,今天就给大家介绍一个开源库BaseRecyclerViewAdapterHelper,有了它让你使用RecyclerView的时候,和ListView一样的好用!
那么你要问了,BaseRecyclerViewAdapterHelper能做什么?
优化Adapter代码(减少百分之70%代码)
添加点击item点击、长按事件、以及item子控件的点击事件
添加加载动画(一行代码轻松切换5种默认动画)
添加头部、尾部、下拉刷新、上拉加载(感觉又回到ListView时代)
设置自定义的加载更多布局
添加分组(随心定义分组头部)
自定义不同的item类型(简单配置、无需重写额外方法)
设置空布局(比Listview的setEmptyView还要好用!)
添加拖拽item

如何使用它?

先在 build.gradle 的 repositories 添加:

   allprojects {
        repositories {
            ...
            maven { url "https://jitpack.io" }
        }
    }

然后增加dependencies

dependencies {
   compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:v1.9.7'
}

官网为准

如何使用它来创建Adapter?

public class QuickAdapter extends BaseQuickAdapter<Status> {
    public QuickAdapter(Context context) {
        super(context, R.layout.tweet, DataServer.getSampleData());
    }

    @Override
    protected void convert(BaseViewHolder helper, Status item) {
        helper.setText(R.id.tweetName, item.getUserName())
                .setText(R.id.tweetText, item.getText())
                .setText(R.id.tweetDate, item.getCreatedAt())
                .setImageUrl(R.id.tweetAvatar, item.getUserAvatar())
                .setVisible(R.id.tweetRT, item.isRetweet())
                .linkify(R.id.tweetText);
    }
}

或者

public class QuickAdapter extends BaseQuickAdapter<Status> {  
    public QuickAdapter() {  
        super(R.layout.tweet, DataServer.getSampleData());  
    }  
    @Override  
    protected void convert(BaseViewHolder helper, Status item) {  
        helper.setText(R.id.tweetName, item.getUserName())  
                .setText(R.id.tweetTex
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

强大的BaseRecyclerViewAdapterHelper使用 的相关文章

  • Android 上的多处理

    我一直在 Android 上执行一些测试 以验证并行化算法 如 FFT 的性能可以提高多少 我通过使用带有 JNI FFTW 的 pthread 和 Java 线程 来自 JTransforms 来实现这些算法 我没有像预期那样通过使用线程
  • Android Volley:意外响应代码 405

    我的 Android Volley JsonObjectRequest 遇到 onErrorResponse 并出现以下问题 BasicNetwork performRequest Unexpected response code 405
  • SDK 管理器缺少模拟器的旧版 Android 系统映像

    我刚刚重新安装了 ADT 捆绑包 20130522 和 Android Studio 因为我的 eclipse 安装再次搞砸了 但那是另一个故事了 在任一版本中 当我启动 SDK Manager 时 都没有任何 2 2 的系统映像 只有 2
  • 从txt文件中读取数据而不下载它?

    我想从提供的文本文件中解析信息 有没有一种方法可以在应用程序中执行此操作 而无需先下载文件 以某种方式传输文本内容 打开到 URL 的 Http 连接 使用内置 HttpURLConnection 或使用 commons httpclien
  • 从 Android 函数更新 Textview

    有人可以告诉我如何从函数更新 Android Textview 控件吗 我在互联网上进行了深入搜索 看到很多人都问同样的问题 我测试了线程但无法工作 有人有一个简单的工作示例吗 例如 调用一个函数 在循环中运行多次 并且该函数在 TextV
  • Ionic 4:硬件后退按钮重新加载应用程序

    从事项目并陷入问题 硬件后退按钮重新加载应用程序 我在此应用程序中使用 Angular Router 我退出应用程序的代码 ionViewDidEnter this subscription this platform backButton
  • 使用audioSessionId值实例化AudioFx类?

    我已经阅读了 Android API 并尝试在互联网上搜索有关声明自定义audioSessionId然后用它audioSessionId初始化 AudioFx 类并为我的 MediaPlayer 或 AudioTrack 分配硬编码audi
  • Google Play 服务,登录成功,但创建房间时出错

    我正在尝试 google play 服务示例 特别是 ButtonClicker2000 从 logcat 登录过程也正常 但我有另一个错误 06 01 22 43 15 478 D ButtonClicker2000 1565 Sign
  • 如何在我的谷歌上嵌入转弯导航

    我想在我的 Android 应用程序中嵌入逐段导航 请给我一个教程或如何执行此操作的想法 提前致谢 如果您不固定使用谷歌地图 您可以使用基于 OpenStreetMap 地图的维基百科版本 的 SDK 有几个不错的 SDK 提供商 skob
  • android gradle插件-离线安装

    我必须在离线电脑上安装 android gradle 插件 通过谷歌搜索 我了解到我可以通过本地 Maven 存储库来做到这一点 但从不成功的尝试和所有关于这个问题的质量保证中我知道这并不简单 我从来没有和maven一起工作过 有经验的人可
  • 如何让 Mockito 在 androidTest 中工作

    在我的测试中 我如何模拟我编写的课程 这是我的测试代码 import android support test runner AndroidJUnit4 import org junit Before import org junit Te
  • java.exe 以非零退出值 1 结束

    只是为了开始 我并不是真正尝试从 Android 中的 xlsx 文件中读取单元格 我已经尝试了几乎所有我在 Google 上搜索到的内容 但是每次 在两台不同的 PC 上 都是 Java 1 7 0 79 当我尝试构建 运行 这个应用程序
  • Android 中的 BLE Gatt onConnectionStateChanged 失败,状态为 257

    我正在开发一个同时连接到多个BLE设备的Android应用程序 之后我从这些设备永久读取特征 但过了一会儿 我在onConnectionStateChanged 函数中得到状态257 android文档没有解释错误的原因是什么 或者如何修复
  • 地理围栏不可用以及如何处理

    我正在 Android 上使用地理围栏 它在大多数手机上都工作正常 但在其中一些上 它不起作用 在我的错误日志中显示 地理围栏不可用 某些用户没有为 Google Play 服务启用位置跟踪 我认为这就是地理围栏在他们的手机上不起作用的原因
  • 获取接收者的设备令牌以在 Firebase 中发送通知

    所以我正在学习如何使用 firebase 发送设备到设备的通知 我看到了这个answer https stackoverflow com a 42548586 5237289发送通知 看起来很简单 现在 我知道要获取发件人的令牌 它应该如下
  • Meteor:即使设置了 ANDROID_HOME 也未设置

    操作系统 Ubuntu 14 04 框架 流星1 1 0 2 应用名称 Songofy 这是输出meteor install sdk android meteor install sdk android Found Android bund
  • Desire HD 中的应用程序崩溃

    由于某些莫名其妙的原因 我的应用程序在 HTC Desire HD 上崩溃了 它在其他手机和模拟器中运行良好 这是崩溃报告 java lang RuntimeException Unable to start activity Compon
  • android中如何将字符串转换为unicode

    我正在解析一些unicodes from json to my android应用程序 API 给出unicodes像这样的图标 ue600 当我将这个unicode直接添加到textview like textview setText u
  • 调用外部应用程序

    如何从我的应用程序调用外部应用程序 例如 我需要打电话Shazam 应用程序 来自我的应用程序 我可以在应用程序的包名称中看到logcat 这对任何目的都有用吗 特别是对于 Shazam 以下代码有效 Intent intent new I
  • AsyncTask的并行执行

    An 异步任务单击时执行 List

随机推荐

  • P5[3-1]GPIO输出端口(简介+结构+配置+电路+软件设计原理)

    注 GPIO命名是GPIOA GPIOB 每个GPIO都有16个引脚 PA0 PA1 PA15 寄存器就是特殊的存储器 内核通过APB2总线对寄存器进行读写 完成输出电平和读取电平功能 每一位对应一个引脚 输出寄存器写1 对应引脚输出高电平
  • Js 正则 大于0的数

    const reg 1 9 d d 1 6 0 d 1 6 以下正则也是正确的 const reg d 1 9 0 d 1 6 0 d 1 6 大于0 小数不限 const reg 1 9 0 9 0 d 1 9 d
  • vue中使用el-table组件进行分页多选,回显、切换分页记住上一页所勾选和取消的选项

    需求 1 table表格多选 并且切换分页之后能记住上一页的选项 2 回显数据 切换分页之后再切换回来依然能回显数据 3 点击选项 未保存数据 切换页面后再切换回来初始化数据勾选状态 4 全选 取消全选数据正常变化 5 使用了dialog来
  • IDEA隐藏不想看见的文件

    比如我在使用idea创建spring boot工程时会出现图中箭头指向的文件 但是我又不想看到它们 可以通过设置将其隐藏 单击文件 打开设置 在搜索框中输入File Types然后打开 在箭头所指的地方下面的输入框中输入你要隐藏的文件名 也
  • 函数对象简述

    使用方式 函数与函数对象 函数指针与函数对象 使用方式 函数对象 简而言之 就是类对于 运算符的重载 使我们可以像使用函数那样使用对象 示例如下 ifndef TOOBIG H define TOOBIG H template
  • 【完全开源】小安派-Audio 外置音频开发板

    目录 一 概述 二 系统框图 三 电源管理模块 四 外置语音模块 五 GPIO引脚设计 六 资料 一 概述 小安派 Audio AiPi Audio 是安信可团队专门为Ai M61 32S设计的音频驱动开发板 搭配BL618芯片 其外置ES
  • PyCharm中导入库的方法

    两种方法 1 搜索添加 列表中是已经存在的库 若需要添加库 点击 搜索 待库安装完成 即可使用 2 利用终端命令 输入代码 回车 即可完成 numpy库为例 我的是已经存在了
  • 【抽样技术】CH2 简单随机抽样

    目录 前言 一 定义 二 概述 1 总体 2 单元 3 抽样比 4 样本抽取原则 5 在抽样理论中的地位与作用 三 参数估计 1 参数表示 2 对总体特征的估计思路 3 对总体均值的估计 1 引理 2 对总体均值的估计 4 方差和协方差的估
  • ROS2学习笔记(三)从turtlesim学习ROS2主题

    从turtlesim学习ROS2主题 前言 学习ROS2的路 并不能通过学习ROS1代替 因为ROS2的 内核 不同于ROS1 必须认认真真从头开始重新学习 Ubuntu版本 20 04 ROS版本 Foxy 学习笔记回顾 ROS2学习笔记
  • Teamviewer检测为商业用途的解决方案

    Teamviewer检测为商业用途的解决方案 注意 Teamviewer远程链接需要两台计算机参与 需要在两台计算机上都安装Teamviewer软件 所以在链接中出现被检测到商业用途 并不知道到底是哪一台计算机上的电脑出现问题 所以如果按照
  • solr之lucene全文检索的基本原理

    一 总论 根据http lucene apache org java docs index html定义 Lucene是一个高效的 基于Java的全文检索库 所以在了解Lucene之前要费一番工夫了解一下全文检索 那么什么叫做全文检索呢 这
  • 从零开始学matplotlib画图(三): 堆积图

    堆积图常用于综合展示不同分类的指标趋势以及它们的总和的趋势 比如说 我们想看一下过去二十年来中国人口总量的变化趋势 同时 我们又想看一下男 女性人口各自的变化趋势 甚至我们还想看一下它们各自占比的变化趋势 这时 我们就可以用堆积图来更高效
  • 空类中都有哪些东西

    定义一个空类 里面什么内容都没有 class A 想想看 它的大小应该是多少 要计算一个类对象的大小 要知道这么几点 类大小是非静态数据成员的类型大小之和 若类中定义了虚函数 需要考虑到虚表指针也占用类对象的内存空间 32位机器下占用四字节
  • matlab如何显示神经网络的均方误差,matlab神经网络工具箱

    1 输入nftool 点击next 2 输入特征X 和目标值Y如下 注意按行 按列 3 设置训练集 验证集 测试机比例 一般默认为0 7 0 15 0 15 4 设置隐藏层个数 需要调的参数之一 5 选择优化算法 默认如图 点击train进
  • sklearn学习笔记

    sklearn简介 2007年 数据科学家大卫 库尔纳佩 David Cournapeau 等人发起了机器学习的开源项目 sklearn 至今已逾十载 到目前为止 它已成为一款非常成熟的知名机器学习框架 sklearn 是一款开源的 Pyt
  • qt 简易画板换线宽

    画板如图所示 想实现线宽变化后 画图工具的线宽可以变化 主窗口是editpicture 画板为paintwidget 算是两个类之间传递数据 想用spinbox的valuechange信号 在主窗口中添加connect area为paint
  • 全国二等计算机,喜报丨热烈祝贺赵思哲同学获得2020全国青少年信息学奥林匹克联赛全国二等奖...

    日前 由CCF主办的2020全国青少年信息学奥林匹克联赛 NOIP 顺利举行 共有来自全国31个省市自治区 含港澳 的选手参赛 经过激烈角逐 我校2020级6班赵思哲同学取得了全国二等奖的优异成绩 全国青少年信息学奥林匹克联赛 NOIP 是
  • Entity Framework Core-数据库优先

    数据库优先是EF Core会根据数据库自动创建Entity Context 因此首先你得先创建数据库 我们通过一个Company数据库做个演示 1 SQL Server中创建数据库 在Visual Studio中打开View gt SQL
  • 模拟电子技术动画-PN结(动画是转的)内容再修改

    1 空穴和电子 动画中空穴是红的 电子是蓝的 其实我一直对空穴这个概念很抵触 因为从这个动画上来看空穴是不动的 但讲PN结 三极管的时候都会把空穴当成运动的载流子 虽然似乎也不是很难理解 标题 2 PN结 标题
  • 强大的BaseRecyclerViewAdapterHelper使用

    介绍 相信大家RecyclerView应该不会陌生 大多数开发者应该都使用上它了 它也是google推荐替换ListView的控件 但是用过它的同学应该都知道它在某些方面并没有ListView使用起来方便 需要我们额外的编写代码 今天就给大