本文实例为大家分享了Android自定义下拉刷新上拉加载的具体实现步骤,供大家参考,具体内容如下
实现的方式是SwipeRefreshLayout + RecyclerView 的VIewType
首先看效果:

总的思路:

布局文件
android:layout_marginTop="?attr/actionBarSize"
android:id="@+id/one_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:id="@+id/one_recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
下拉刷新的实现思路

用于测试的Model
public class TestModel {
private String mTitle;
private String mDesc;
private String mTime;
public TestModel(String mTitle, String mDesc, String mTime) {
this.mTitle = mTitle;
this.mDesc = mDesc;
this.mTime = mTime;
}
//...一堆getXxx ,setXxx方法
//equals必写,添加数据时候用于判断
@Override
public boolean equals(Object o) {
TestModel model = (TestModel) o;
if (!mTitle.equals(model.getmTitle())) {
return false;
} else if (!mDesc.equals(model.getmDesc())) {
return false;
} else if (!mTime.equals(model.getmTitle())) {
return false;
}
return true;
}
模拟获取网络数据的代码
private class GetData {
int size = 0 ;
int max = 25; //数据的最大值
public void setStart(int size) {
this.size = size;
}
//根据size获取指定大小的List,最大不能超过max
public List initData(int size) {
List mDatas = new ArrayList<>();
TestModel model = null;
for (int i = start; i < ((size + start) > max ? max : (size + start)); i++) {
model = new T

本文介绍了如何在Android中实现自定义的下拉刷新和上拉加载功能,利用SwipeRefreshLayout和RecyclerView结合,展示具体实现步骤。通过创建测试Model,模拟网络数据,初始化并更新RecyclerView,以及在Adapter中处理上拉刷新逻辑。详细讲解了布局设置、数据获取、刷新事件监听以及加载更多功能的实现。
最低0.47元/天 解锁文章

331

被折叠的 条评论
为什么被折叠?



