PullRefreshLayout:跟SwipeRefreshLayout功能差不多的一款下拉刷新控件。
项目地址:https://github.com/baoyongzhang/android-PullRefreshLayout
使用的方法跟SwipeRefreshLayout类似。
首先在xml文件中定义,包裹需要下拉刷新的view,listview、RecylerView、WebView etc
然后在Activity进行引用,
PullRefreshLayout refreshlayout=(PullRefreshLayout)findviewById(R.id.swiperefreshlayout);
//可以设置下拉刷新的样式
refreshlayout.setRefreshStyle(PullRefreshLayout.STYLE_MATERIAL);
//设置刷新监听事件
refreshlayout.setOnRefreshListener(new RefreshListener implements PullRefreshLayout.OnRefreshListener{
//刷新的方法,例如从网络加载数据等都在这个方法内完成。
public voidonRefresh(){
if(!NetWorkUtils.isNetConnected(BaseApplication.getAppContext())){
Toast.makeText(getContext(),"没有网哦",Toast.LENGTH_SHORT).show();
refreshLayout.setRefreshing(false);//停止刷新,必须要写
return;
}
else{
loadData();
refreshLayout.setRefreshing(false);//停止刷新,必须要写
}
}
}
);
注意:在刷新加载数据后,要调用 refreshlayout.setRefreshing(false);方法,不然就会像我一样煞笔,出现下拉后一直刷新的情况!