SmartRefreshLayout踩坑小记

1,040 阅读1分钟

我们经常会遇到分页加载数据的需求,SmartRefreshLayout是一个及可以坐下拉刷新也可以做上拉家在的非常优秀的框架。但我在使用中也遇到了一些要注意的情况。

需求是最常见的,在刷新数据出错,或者数据为空是,我们自定义了一个布局,布局中有一个按 钮可以重新加载数据。我们一般在数据为空或出错时手动调用 finishRefresh() 或者 finishLoadMore() ,但是在finish的时候它做了300的延迟,如下图

image.png

而你在调用autoRefresh() 方法手动刷新的时候它是会判断状态的

image.png

所以如果你在调用finishRefresh()方法的300毫秒内调用autoRefresh()方法是不会成功的,随意在用户网络完全失效,然后狂点重试的时候,要注意下这个地方。 解决方法其实也很简单,在调用finishRefresh()后主动延迟300毫秒在调用autoRefresh()就可以了。