界面打開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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章