Kotlin_RecyclerView_上拉刷新2

RecyclerView 的上拉刷新加载更多的基本实现 参考上篇: https://blog.youkuaiyun.com/whjk20/article/details/106975642

上拉刷新还可以对RecyclerView 添加滑动监听 (addOnScrollListener), 然后通过回调进行模拟数据更新

这里主要把加载更多插到RecyclerView 最后, 并非RecyclerView的数据中。

目录

1.布局文件 (分开加载中和加载失败)

2. 数据类型(增加一个数据状态标志位)

3. 修改Adapter

3.修改Activity


1.布局文件 (分开加载中和加载失败)

此处省略,跟之前的差异不大,只是分成两个文件

2. 数据类型(增加一个数据状态标志位)

package com.example.androidrecyclerviewtest.data

class UserDataLoadMore {
    var userName: String
    var userImageId: Int
    var state: Int

    // state 在adpater 的getItemViewType中用到
    constructor(userNameId: String, userImageId: Int, state: Int) {
        this.userName = userNameId
        this.userImageId = userImageId
        this.state = state
    }
}

其中有三种状态:

    const val TYPE_NORMAL = 0
    const val TYPE_LOADING = 1
    const val TYPE_RELOAD = 2

3. 修改Adapter

class ListViewLoadMoreScrollAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {

    //方法2: 通过设置接口回调,则不需要持有具体类的引用
    private var loadMoreScrollActivity: ListViewLoadMoreScrollActivity
    private var datas: MutableList<UserDataLoadMore>

    constructor(loadMoreScrollActivity: ListViewLoadMoreScrollActivity, datas: MutableList<UserDataLoadMore>) {
        this.loadMoreScrollActivity = loadMoreScrollActivity
        this.datas = datas
    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
        var view: V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值