利用自定义的MyRefreshLayout定义带有下拉刷新和上拉加载的Activity和Fragment父类:
- 允许只实现刷新
- 允许ListView子条目左右滑动
- 可以设置刷新或者加载时的最小时间间隔
使用时
- 使Fragment继承BaseRefreshFragment,泛型为子条目需要的数据类型,实现加载更多条目的方法
- 在获取到MyRefreshLayout对象之后,调用initRefresh();
- 在获取到数据后先后调用
setLoadData(loadDatas);
dealData();
,完成数据处理 在获取数据失败时调用onRefreshError();
public abstract class BaseRefreshFragment<T> extends MyBaseFragment { private long currentTimeMillis; private long lastRefreshTime; private RefreshLayout refreshLayout; private boolean isRefresh; private long currLoadTime; private double lastLoadTime; private boolean isLoad; // 当前加载页码 protected int page = 1; // 总的数据源 protected List<T> datas = new ArrayList<>(); // 上次加载得到的数据 private List<T> preDatas = new ArrayList<>(); // 上次