还有就是setNoMoreData(true)这个方法,在没有更多数据,即最后一页时调用,并将参数传为 true。最重要的是要记得在不是最后一页时,记得要把状态恢复过来,即将参数传为 false.
下面是在此次开发中用到的比较重要的方法,
/*
这几个方法是比较重要的
*/
// 这两个方法是在加载成功并且还有数据的情况下调用的
refreshLayout.finishRefresh();//结束刷新
refreshLayout.finishLoadMore();//结束加载
// 这两个方法是在加载失败时调用的
refreshLayout.finishRefresh(false);//结束刷新(刷新失败)
refreshLayout.finishLoadMore(false);//结束加载(加载失败)
// 这个方法是在最后一页,没有更多数据时调用的,会在页面底部标记没有更多数据
refreshLayout.finishLoadMoreWithNoMoreData();//完成加载并标记没有更多数据 1.0.4
// 这个方法最重要,当在最后一页调用完上一个完成加载并标记没有更多数据的方法时,需要将refreshLayout的状态更改为还有更多数据的状态,此时就需要调用此方法,参数为false代表还有更多数据,true代表没有更多数据
refreshLayout.setNoMoreData(false);//恢复没有更多数据的原始状态 1.0.5
// 这里需要注意这几个结束加载和结束刷新的方法,分好几种使用的情况,可以在不同的情况下使用
/**
* 完成刷新
* @return RefreshLayout
*/
RefreshLayout finishRefresh();
/**
* 完成刷新
* @param delayed 开始延时
* @return RefreshLayout
*/
RefreshLayout finishRefresh(int delayed);
/**
* 完成加载
* @param success 数据是否成功刷新 (会影响到上次更新时间的改变)
* @return RefreshLayout
*/
RefreshLayout finishRefresh(boolean success);
/**
* 完成刷新
* @param delayed 开始延时
* @param success 数据是否成功刷新 (会影响到上次更新时间的改变)
* @return RefreshLayout
*/
RefreshLayout finishRefresh(int delayed, boolean success);
/**
* 完成加载
* @return RefreshLayout
*/
RefreshLayout finishLoadMore();
/**
* 完成加载
* @param delayed 开始延时
* @return RefreshLayout
*/
RefreshLayout finishLoadMore(int delayed);
/**
* 完成加载
* @param success 数据是否成功
* @return RefreshLayout
*/
RefreshLayout finishLoadMore(boolean success);
/**
* 完成加载
* @param delayed 开始延时
* @param success 数据是否成功
* @param noMoreData 是否有更多数据
* @return RefreshLayout
*/
RefreshLayout finishLoadMore(int delayed, boolean success, boolean noMoreData);
/**
* 完成加载并标记没有更多数据
* @return RefreshLayout
*/
RefreshLayout finishLoadMoreWithNoMoreData();
网友评论