第一步:导库 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.3'd 第二步:布局 <com.scwang.smartrefresh.layout.SmartRefreshLayout android:id="@+id/refreshLayout" android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginTop="13dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@+id/searchEt"> <com.scwang.smartrefresh.layout.header.ClassicsHeader android:layout_width="match_parent" android:layout_height="wrap_content" /> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <com.yanzhenjie.recyclerview.swipe.SwipeMenuRecyclerView android:id="@+id/recycleview_team" android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginLeft="16dp" android:layout_marginRight="16dp" app:layout_constraintTop_toTopOf="parent" /> <ImageView android:id="@+id/iv_nodata" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="gone" android:src="@drawable/icon_no_member" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> <com.scwang.smartrefresh.layout.footer.ClassicsFooter android:layout_width="match_parent" android:layout_height="wrap_content" /> </com.scwang.smartrefresh.layout.SmartRefreshLayout>d 第三步:代码
//是否刷新 private var isRefresh = true private var isLoadMore = false
private var mPage = 1 //当前加载的页数 private val mPageSize = 20 //每页数量
mBinding.refreshLayout.setNoMoreData(it.size < mPageSize) if (isRefresh) { if(it.isNullOrEmpty()){ mBinding.ivNodata.visibility = View.VISIBLE }else{ mBinding.ivNodata.visibility = View.GONE } searchTeamAdapter.setList(it) mBinding.refreshLayout.finishRefresh(true) isRefresh = false } if (isLoadMore) { searchTeamAdapter.addData(it) mBinding.refreshLayout.finishLoadMore(true) isLoadMore = false } if (searchTeamAdapter.data.isEmpty()) { mBinding.refreshLayout.setEnableRefresh(true) mBinding.refreshLayout.setEnableLoadMore(false) }