您的位置:首页 > 产品设计 > UI/UE

Android SwipeRefreshLayout的 swipe.setRefreshing(true)无法自动刷新问题

2016-12-08 19:00 323 查看
在项目中要求进入Activity时,即出现下拉刷新样式,以提醒用户正在数据正在刷新,但是用swipe.setRefreshing(true)方法却达不到效果,没有作用,经查找需要
swipe.post(new Runnable() {
@Override
public void run() {
if (swipe.isRefreshing()){
swipe.setRefreshing(false);
}
}
});

这样做才会有下拉刷新出现,而无须用户手动下拉操作,然而这样做并没有进入SwipeRefreshLayout的onRefresh()方法,仍需主动调用onRefresh(),方可执行该方法,并且
想要在数据请求完成后,停止刷新样式,调用swipe.setRefreshing(false)是没有作用的,(在由用户操作引发的下拉刷新时起作用),这时候需要
 swipe.post(new Runnable() {
@Override
public void run() {
if (swipe.isRefreshing()){
swipe.setRefreshing(false);
}
}
});
这样,才能停止刷新。具体原因有网友分析出是SwipeRefreshLayout在onCreate()中onMeasure()方法,仍未发生作用,所以设置下拉刷新无效。
具体可见:https://www.zhihu.com/question/35422150


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐