知乎下拉刷新SwipeRefreshLayout下拉刷新用法类似知乎下拉刷新
2015-11-08 17:33
323 查看
首先我们需要导入support v4的包,然后选择SwipeRefreshLayout,放到布局中。
在layout布局中,以listview举例,以以下格式使用SwipeRefreshLayout。
在java文件中
在layout布局中,以listview举例,以以下格式使用SwipeRefreshLayout。
<android.support.v4.widget.SwipeRefreshLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/SwipeRefresh" > <ListView android:dividerHeight="0.5dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/newsListView" /> </android.support.v4.widget.SwipeRefreshLayout>
在java文件中
private List<Map<String, Object>> list = new ArrayList<>();
private SwipeRefreshLayout swipeRefresh;
newsListView = (ListView) view.findViewById(R.id.newsListView); swipeRefresh = (SwipeRefreshLayout) view.findViewById(R.id.SwipeRefresh); swipeRefresh.setColorSchemeResources(R.color.colorAccent);//设置圆形旋转图标中的箭头的颜色 swipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { //下滑listview时回调 newsListView.setAdapter(null); //不显示listview list.clear(); //list集合清空, new newsThread().start(); //启动线程加载数据 } });
private class newsThread extends Thread { @Override public void run() { super.run(); setNewsData("范冰冰"); String path = getNewsDataUrl(params); //获取接口地址,不要照抄,这是自己写的方法 data = GetInternetJson(path, "GET"); //获取json数据,不要照抄,这是自己写的方法 resolutionJson(data); //解析json添加到list集合中 Message msg = new Message(); msg.what = 0x12; mHandler.sendMessage(msg); } }
private Handler mHandler = new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message msg) { if (msg.what == 0x12) { swipeRefresh.setRefreshing(false); //关闭刷新 MyAdapter adapter = new MyAdapter(getActivity(), list); //自定义baseAdapter,传入list集合 newsListView.setAdapter(adapter); } return false; } });
相关文章推荐
- objective-c系列-NSDictionary&NSMutableDictionary
- Centos7 install Openstack - (第四节)添加计算服务(Nova)
- python之模块chunk,了解即可
- ASCII表、ASCII扩展表
- iOS开发-前言篇C-结构体
- JS-运算符
- php搜索功能
- 信息安全系统设计基础第九周学习总结—20135227黄晓妍
- 百度编辑器ueditor获取不到内容?请把form放在table等其他元素最外面
- 系统级I/O
- c语言 goto语句
- iOS开发-前言篇C-函数
- "无法删除数据库,因为该数据库当前正在使用"问题解决
- json、javaBean、xml互转的几种工具介绍
- Spring MVC 框架搭建及详解
- JVM垃圾回收机制
- c语言 时间详解
- 汇编程序-更灵活的定位内存地址方法
- muduo库阅读(3)——基本类型之阻塞队列
- Linux词汇