首先想要在界面一加載的時候出現更新效果,直接調用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()