在用SwipeRefreshLayout刷新页面的时候,发现如果进页面的时候,直接使用SwipeRefreshLayout的自动刷新,比自己写一个loading更简单而且美观。
自动刷新效果如下:
于是自己就开始在初始化的时候,调用
mSwipeRefreshLayout.setRefreshing(true);
但是发现没有任何效果。
百度一下发现,如果要实现SwipeRefreshLayout的自动刷新,需要这样实现
mSwipeRefreshLayout.post(new Runnable() {
@Override
public void run() {
mSwipeRefreshLayout.setRefreshing(true);
}
});
自动关闭的时候也使用
mSwipeRefreshLayout.post(new Runnable() {
@Override
public void run() {
mSwipeRefreshLayout.setRefreshing(false);
}
});
注明一点,这里的setRefreshing方法,不会执行onRefresh那个回调方法,只是会出现那个旋转的动画而已,所以一开始如果要自动刷新,必须在使用完这个方法后,自己手动更新数据。