怎样实现SwipeRefreshLayout的自动刷新
1个回答
展开全部
首先想要在界面一加载的时候出现更新效果,直接调用setRfreshing(true)是出不来效果的,这个问题我以前也遇到过,必须调用
SwipeRefreshLayout.post(new Runable(){
@Override
public void run() {
SwipeRefreshLayout.setRefreshing(true);
}
});
关闭的时候也使用
SwipeRefreshLayout.post(new Runable(){
@Override
public void run() {
SwipeRefreshLayout.setRefreshing(false);
}
});
但是如果你认为这样就会走onRefresh方法,那你就大错特错了,setRefreshing(true)是不会触发onRefresh的,必须要手动调用一次
所以在界面onCreate里面想要立刻加载就需要这样
SwipeRefreshLayout.post(new Runable(){
@Override
public void run() {
SwipeRefreshLayout.setRefreshing(true);
}
});
onRefresh();
SwipeRefreshLayout.post(new Runable(){
@Override
public void run() {
SwipeRefreshLayout.setRefreshing(true);
}
});
关闭的时候也使用
SwipeRefreshLayout.post(new Runable(){
@Override
public void run() {
SwipeRefreshLayout.setRefreshing(false);
}
});
但是如果你认为这样就会走onRefresh方法,那你就大错特错了,setRefreshing(true)是不会触发onRefresh的,必须要手动调用一次
所以在界面onCreate里面想要立刻加载就需要这样
SwipeRefreshLayout.post(new Runable(){
@Override
public void run() {
SwipeRefreshLayout.setRefreshing(true);
}
});
onRefresh();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询