Nik*_*las 59 java android swiperefreshlayout
有没有办法以SwipeRefreshLayout编程方式触发?应该启动动画,并且应该调用界面中的onRefresh方法OnRefreshListener.
Ram*_*amz 132
如果您使用的是5.0中的新swipeRefreshLayout 
如上图所示,您只需添加以下行以编程方式触发滑动刷新布局
mSwipeRefreshLayout.post(new Runnable() {
@Override
public void run() {
mSwipeRefreshLayout.setRefreshing(true);
}
});
Run Code Online (Sandbox Code Playgroud)
如果你只是打电话
mSwipeRefreshLayout.setRefreshing(true);
Run Code Online (Sandbox Code Playgroud)
它不会触发圆形动画,所以通过添加上面的线你只是在UI线程中延迟,以便它显示ui线程内的圆形动画.
通过调用mSwipeRefreshLayout.setRefreshing(true)的OnRefreshListener将不会得到执行
为了停止循环加载动画调用 mSwipeRefreshLayout.setRefreshing(false)
Min*_*in2 25
为了触发SwipeRefreshLayout,我尝试了这个解决方案:
SwipeRefreshLayout.OnRefreshListener swipeRefreshListner = new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
Log.i(TAG, "onRefresh called from SwipeRefreshLayout");
// This method performs the actual data-refresh operation.
// The method calls setRefreshing(false) when it's finished.
loadData();
}
};
Run Code Online (Sandbox Code Playgroud)
现在关键部分:
swipeLayout.post(new Runnable() {
@Override public void run() {
swipeLayout.setRefreshing(true);
// directly call onRefresh() method
swipeRefreshListner.onRefresh();
}
});
Run Code Online (Sandbox Code Playgroud)