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