一言不合就上图
我是用的第三方依赖PullToRefresh做的
这也就是个监听方法而已。
首先注入依赖:
//刷新pullToRefresh
compile 'com.jwenfeng.pulltorefresh:library:1.0.3'
然后布局:
<com.jwenfeng.library.pulltorefresh.PullToRefreshLayout
android:id="@+id/pullToRefresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
//这里面可以定义你的需求控件(例如:listView,GridView...)
//我的是recyclerView列表(如果要用recyclerView 需注入依赖)
<android.support.v7.widget.RecyclerView
android:id="@+id/recView"
android:layout_width="match_parent"
android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>
</com.jwenfeng.library.pulltorefresh.PullToRefreshLayout>
然后在MainActivity里面初始化控件并设置监听
//初始化/找控件/获取资源ID
PullToRefreshLayout ptr = (PullToRefreshLayout) findViewById(R.id.pullToRefresh);
//设置监听setRefreshListener
//然后生成刷新和加载的重写方法
ptr.setRefreshListener(new BaseRefreshListener() {
@Override
//刷新的方法
public void refresh() {
//这里书写你的下拉刷新的业务需求逻辑
if (list != null) {
initNet();
}
//别忘了关闭刷新的效果
ptr.finishRefresh();
}
@Override
//加载更多的方法
public void loadMore() {
//这里书写你的家在更多的业务需求逻辑
if (list != null) {
list.addAll(list.size(), list);
recAdapter.notifyDataSetChanged();
}
//别忘了关闭加载更多的效果
ptr.finishLoadMore();
}
});
这就OK了。
强调几点:
1我的Android studio是2.3.3版本,SDK用的v7…..26.+的
2为了显得代码简洁,导包我没搬过来,so 你们自己导吧
3如果访问网络:别忘记在AndroidManifest(注册清单)添加网络权限
<uses-permission android:name="android.permission.INTERNET"/>