欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

(一) 自带刷新的列表-LtRecyclerView v2.x版本(LtAdapter)(基本使用)

发布时间:2025/3/21 编程问答 33 豆豆
生活随笔 收集整理的这篇文章主要介绍了 (一) 自带刷新的列表-LtRecyclerView v2.x版本(LtAdapter)(基本使用) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

(一) 超简单自定义上下刷新布局-LtRecyclerView v2.x版本(基本使用)

(二) LtRecyclerView v2.x (更多实用方法)

(三) LtRecyclerView v2.x (自定义刷新View)

LtRecyclerView2.x版本比1.x版本多了几个好用的功能,很实用
总体功能:

  • 带有上拉加载和下拉刷新和回调
  • 设置条目点击事件和条目长按事件
  • 添加头布局和尾布局
  • 添加没条目时展示的View(或者添加没条目和有条目时的回调事件)
  • 添加分割线(也可以用图片)
  • 自定义上拉加载的View
  • 自定义下拉刷新的View(包括RecyclerView移动和不移动),而且非常简单
  • 仅需修改一行代码即可更改所有的刷新View
  • 可单独使用下拉刷新View
  • 图示:

    :

    使用:

    远程仓库引用:

    在根项目的build.gradle文件中加入:

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

    需要添加的地方加入:

    implementation 'com.github.ltttttttttttt:ltviews:2.8.0'//androidx //下面的是support包中的,已被废弃,全面改用androidx包 implementation 'com.github.ltttttttttttt:ltviews:2.3.9'//android support 以后不再进行更新

    正式使用

    3.xml布局文件中:

        <com.lt.ltviews.lt_recyclerview.LTRecyclerViewandroid:id="@+id/rv"android:layout_width="match_parent"android:layout_height="match_parent"app:dividerHeight="1dp" //设置分割线的高度,默认颜色是#d5d5d5app:noItemText="暂无数据" //设置没有数据时展示的文字 />

    在Application的onCreate中:

    LtRecyclerViewManager.INSTANCE.init(this);

    4.java代码使用示例,只需要set一个适配器和加一个加载的回调即可

    rv = (LTRecyclerView) findViewById(R.id.rv);//创建一个适配器LtAdapter adapter = new LtAdapter() {@Overridepublic RecyclerView.ViewHolder onLtCreateViewHolder(ViewGroup parent, int viewType) {//在这里返回一个ViewHolder,构造里放需要展示的Viewreturn new RecyclerView.ViewHolder(new TextView(getApplicationContext())) {};}@Overridepublic int getLtItemCount() {//适配器展示多少条数据return 100;}@Overridepublic void onLtBindViewHolder(RecyclerView.ViewHolder holder, int position) {//给View设置数据((TextView) holder.itemView).setText("" + position);}};adapter.setOnRvItemClickListener(new OnRvItemClickListener() {@Overridepublic void onItemClick(View itemView, int position) {//条目的点击事件}});rv.setAdapter(adapter).setOnUpAndDownListener(new OnUpAndDownListener() {@Overridepublic void up() {//上拉加载时的回调}@Overridepublic void down() {//下拉刷新时的回调}});//设置每行有多少个条目,默认是1rv.setSpanCount(3);

    5.设置刷新状态的方法

            rv.setTopRefresh(false);//设置是否下拉刷新rv.setBottomRefresh(false);//设置是否上拉加载rv.notifyDataSetChanged();//刷新数据源(更新条目)

    6.Kotlin加持适配器(使用Kotlin语言可用),现在已经封装进来,ps:最新版封装的kt适配器文章:https://blog.csdn.net/qq_33505109/article/details/102916599

    继承BaseLtAdapterOneType或BaseLtAdapterOneType使用

    class MAdapter(list: ArrayList<InfoBean>) : BaseLtAdapterOneType<InfoBean>(list, item_layout的id) {override fun setData(h:BaseLtViewHolder, b: InfoBean, i: Int) {h.tvTitle.text=b.title//直接使用item的view内的id,然后使用bean类的属性赋值,i为position,h为viewholder(为了简单写,所以都用了单个字母的简写)//使用该功能需要在对应的model的gradle的android{}中加入下面代码,老版的最大版本为2.7.0(已不再维护老版本,因为性能没有这个高)// androidExtensions {// experimental = true// }} }

    甚至可以直接这样快捷使用适配器,这么两行就相当于条目4里java代码里的一堆

    rv.adapter = ltAdapterOf(mutableListOf(""), 0) {h, b, i -> }

    混淆

    -keep class com.lt.ltviewsx.** { *;}

    7.更多api和自定义放在下篇和下下篇文章(点击查看(二)更多实用方法)

    该控件已开源,Github地址:https://github.com/ltttttttttttt/ltviews

    若有bug可以提出来

    转载请带上本文链接,谢谢

    总结

    以上是生活随笔为你收集整理的(一) 自带刷新的列表-LtRecyclerView v2.x版本(LtAdapter)(基本使用)的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。