使用PullToRefresh进行上拉下拉刷新数据
来源:互联网 发布:java进阶书籍推荐 编辑:程序博客网 时间:2024/04/27 17:53
/**
* 使用pullToRefresh进行下拉刷新和上拉加载
* 1.去github上下载压缩包,解压出来,把library复制出来改名,路径最好不要有中文
* 2.使用import moundle导进这个库文件,添加库文件的依赖
* 3.此时左下角可能会报错,只需要点击install...去下载16版本的sdk,还需要下载19版本的buildTools
*
* 查看代码可以看到
* PullToRefreshListView可以刷新的listView控件....间接继承了LinearLayout,是一个自定义的listView
* PullToRefreshGridView可以刷新的GridView控件
* PullToRefreshExpandableListView可以刷新的二级列表控件
* PullToRefreshScrollView可以刷新的ScrollView控件
* PullToRefreshWebView可以刷新的WebView控件
* 使用pullToRefresh进行下拉刷新和上拉加载
* 1.去github上下载压缩包,解压出来,把library复制出来改名,路径最好不要有中文
* 2.使用import moundle导进这个库文件,添加库文件的依赖
* 3.此时左下角可能会报错,只需要点击install...去下载16版本的sdk,还需要下载19版本的buildTools
*
* 查看代码可以看到
* PullToRefreshListView可以刷新的listView控件....间接继承了LinearLayout,是一个自定义的listView
* PullToRefreshGridView可以刷新的GridView控件
* PullToRefreshExpandableListView可以刷新的二级列表控件
* PullToRefreshScrollView可以刷新的ScrollView控件
* PullToRefreshWebView可以刷新的WebView控件
*/
-------------------------------------------参考代码--------------------------------------------------------
private PullToRefreshListView refreshListView;List<DataDataBean.NewslistBean> newslist = new ArrayList<>();private MyAdapter myAdapter;private int page_num=1;private ILoadingLayout startLabels;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取控件 refreshListView = (PullToRefreshListView) findViewById(R.id.refresh_list_view); //1.获取网络数据 getDataFromNet(); //2.设置模式 refreshListView.setMode(PullToRefreshBase.Mode.BOTH); //3.设置 startLabels = refreshListView.getLoadingLayoutProxy(true, false); startLabels.setPullLabel("下拉刷新"); startLabels.setRefreshingLabel("正在刷新..."); startLabels.setReleaseLabel("放开刷新"); ILoadingLayout endLabels = refreshListView.getLoadingLayoutProxy(false, true); endLabels.setPullLabel("上拉刷新"); endLabels.setRefreshingLabel("正在载入..."); endLabels.setReleaseLabel("放开刷新..."); //4.监听 refreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) { //在下拉监听事件将page设置为1,重新请求网络并刷新适配器 //清空集合 newslist.clear(); getDataFromNet(); //设置刷新时间 Date date = new Date(System.currentTimeMillis()); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm;ss"); String format = sdf.format(date); startLabels.setLastUpdatedLabel("上次更新时间为:"+format); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) { //在上滑滑动监听事件将page加1,重新请求网络并刷新适配器 page_num++; getRefreshData(); } });}//刷新数据 private void getRefreshData() { String path = "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page="+page_num; NetDataUtil.getData(path, MainActivity.this, new JsonCallBack() { @Override public void getJson(String json) { //进行解析 Gson gson = new Gson() ; DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class); newslist .addAll(dataDataBean.getNewslist()); //设置适配器 setAdapter(); //停止刷新 refreshListView.onRefreshComplete(); } });}//获取数据private void getDataFromNet() { String path = "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page=1"; NetDataUtil.getData(path, MainActivity.this, new JsonCallBack() { @Override public void getJson(String json) { //进行解析 Gson gson = new Gson() ; DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class); newslist .addAll(0,dataDataBean.getNewslist()); //设置适配器 setAdapter(); //停止刷新 refreshListView.onRefreshComplete(); } });}//设置适配器private void setAdapter() { if(myAdapter==null){ myAdapter = new MyAdapter(MainActivity.this,newslist); refreshListView.setAdapter(myAdapter); }else{ myAdapter.notifyDataSetChanged(); }}=========================布局文件===========================<com.handmark.pulltorefresh.library.PullToRefreshListView xmlns:ptr="http://schemas.android.com/apk/res-auto" android:layout_height="match_parent" android:layout_width="match_parent" android:id="@+id/refresh_list_view" ptr:ptrDrawable="@drawable/default_ptr_flip" ptr:ptrAnimationStyle="flip" ptr:ptrHeaderBackground="#383838" ptr:ptrHeaderTextColor="#FFFFFF" ></com.handmark.pulltorefresh.library.PullToRefreshListView>
阅读全文
0 0
- 使用PullToRefresh进行上拉下拉刷新数据
- PulltoRefresh上拉下拉刷新
- PullToRefresh的实现上拉下拉刷新
- pulltorefresh上拉下拉刷新的用法
- Android pulltorefresh上拉下拉刷新加载
- pulltorefresh(上拉下拉加载数据) 使用方法!
- pulltorefresh(上拉下拉加载数据) 使用方法!
- pulltorefresh上拉下拉
- 上拉下拉刷新数据
- pullToRefresh使用(实现listview上拉下拉)
- pullToRefresh使用(实现listview上拉下拉)
- 使用pullToRefresh进行下拉刷新和上拉加载
- 使用pullToRefresh进行下拉刷新和上拉加载
- 使用pullToRefresh进行下拉刷新和上拉加载
- Android-PullToRefresh上拉下拉刷新加载更多,以及gridview刷新功能的Library下载地址
- PullToRefresh修改上拉下拉加载动画
- 利用PullToRefresh实现上拉下拉
- ListView上拉下拉刷新
- 日志服务+函数服务实战(1): 访问日志地域、运营商实时分析
- cad导入图片之间相互转换
- LOJ2009/bzoj4446 小凸玩密室 分步讲解
- Volley网络框架
- mysql笔记
- 使用PullToRefresh进行上拉下拉刷新数据
- WPF操作技巧
- TP5与TP3
- java简单工厂设计模式
- 线程池开发详解
- SPI+container加载demo
- hello world !
- 从Js 计时器的工作原理谈js单线程
- FilenameFilter总结