界面打开SwipeRefreshLayout自动刷新
首先想要在界面一加载的时候出现更新效果,直接调用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();
综上:
OnRefreshListener listener = new OnRefreshListener(){
public void onRefresh(){
//TODO
}
};
SwipeRefreshLayout mSRLayout = (SwipeRefreshLayout) findviewbyId(R.id.layout);
mSRLayout.setOnRefreshListener(listener);
onCreate中:mSRLayout.post(new Runable(){
@Override
public void run() {
SwipeRefreshLayout.setRefreshing(true);
}
});
listener.onRefresh()
还没有评论,来说两句吧...