android 下拉刷新监听,说说在 Android 的 RecyclerView 中如何实现下拉刷新
1 SwipeRefreshLayout
修改布局文件,新增 SwipeRefreshLayout :<?xml version="1.0" encoding="utf-8"?>
xmlns:material="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_width="match_parent"
android:layout_height="match_parent">
...
android:id="@+id/swipe_refresh_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
material:layout_behavior="@string/appbar_scrolling_view_behavior">
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
...
...
这里我们把 RecyclerView 放在 SwipeRefreshLayout 中。
2 处理刷新
修改活动类:public class MainActivity extends AppCompatActivity { private SwipeRefreshLayout srl; @Override
protected void onCreate(Bundle savedInstanceState) {
... //处理刷新逻辑
srl = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_layout);//获取 SwipeRefreshLayout 实例
srl.setColorSchemeResources(R.color.colorPrimary);//设置刷新进度条颜色
srl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {//设置刷新监听器
@Override
public void onRefresh() {
refresh();
}
}
);
}
/**
* 刷新
*/
private void refresh() { new Thread(new Runnable() { @Override
public void run() { try {
Thread.sleep(1000);//为了体现出刷新效果,所以这里休眠了线程
} catch (InterruptedException e) {
e.printStackTrace();
} //切回主线程
runOnUiThread(new Runnable() { @Override
public void run() {
initCats();//重新生成数据
adapter.notifyDataSetChanged();//通知数据已发生变化
srl.setRefreshing(false);//当刷新事件结束时,隐藏刷新进度条
}
});
}
}).start();
}
...
}
在 onCreate 方法中:获取 SwipeRefreshLayout 实例。
设置刷新进度条颜色。
设置刷新监听器。在监听器中调用 refresh() 方法。
在 refresh 方法中:为了体现出刷新效果,所以在此休眠了线程。一般情况下,这里会与服务器进行交互,获取数据。
利用 runOnUiThread() 切回主线程。
在主线程中,重新生成数据,接着通知数据已发生变化,最后隐藏刷新进度条。
运行程序,向下拖动主界面,就会出现下拉刷新进度条,松手就会自动刷新图片:
是不是很酷呀O(∩_∩)O~
作者:deniro
链接:https://www.jianshu.com/p/dd4f0b4bfaca
android 下拉刷新监听,说说在 Android 的 RecyclerView 中如何实现下拉刷新相关推荐
- android 键盘弹出 监听,奇技淫巧之-Android监听键盘弹出与隐藏事件
CaptainAndroid.png 相信看到这个标题,大家都会潜意识觉得:Activity中没有可以复写的方法么?或者说,没有什么listener可以让我们使用么? 抱歉,真的没有,我们潜意识都是以 ...
- Android EditText缴获与监听输入事件
Android EditText缴获与监听输入事件 Android EditText截获与监听输入事件 预期目标:如下图,输入框中每输入一个字符,下面的TextView可以迅速的显示出来输入框中的内容 ...
- windows oracle重建监听,Windows下修改Oracle监听端口
先放开防火墙的端口,再来改监听端口. 只有一个实例: net stop OracleOraDb11g_home1TNSListener 再运行 NET Manager 修改实例名与Listener的端 ...
- html中下拉列表监听事件,ExtJS 下拉框监听事件、日期选择器监听事件、实现动态给items添加删除数据...
本文将为您描述ExtJS 下拉框监听事件.日期选择器监听事件.实现动态给items添加删除数据,具体实现方法: 1.下拉框 下拉框选择时,触发事件的方法: 在 Ext.form.ComboBox 组件 ...
- android列表项点击事件,Android 开发 tips(2):监听 Listview 列表项点击事件
Android 开发 tips(2):监听 Listview 列表项点击事件 (这篇和上篇本来是应该一起写的,但是太过冗长,附链接:[SimpleAdapter 在 Listview 中的应用] ht ...
- Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
Android对ScrollView滚动监听,实现美团.大众点评的购买悬浮效果 转:http://blog.csdn.net/xiaanming/article/details/17374599 很荣 ...
- Android的Menu键监听
Android的Menu键监听 其实想实现的目的很简单,按下Menu键的时候,在Activity中把一个值设置成true,同时弹出菜单,菜单消失的时候再把这个值设成false.搞来一个多小时,其实很简 ...
- Android通过使用系统广播监听网络状态的改变
Android通过使用广播监听网络状态的改变 得先添加权限 //查看网络状态<uses-permission android:name="android.permission.ACCE ...
- Android学习按键事件监听与Command模式
Android学习按键事件监听与Command模式 - Dufresne - 博客园 Android学习按键事件监听与Command模式 一 Command模式 意图: 将一个请求封装为一个对象,从而 ...
最新文章
- linux shell合并文件命令paste
- jython在MyEclipse控制台出现Failed to install
- TP5 使用IN查询时如何限制条数
- 五十二、Python北京美团汉堡外卖数据分析实战
- Spring Boot + Vue 前后端分离,两种文件上传方式总结
- CSS让文字在元素内绝对居中!!!【ie和谷歌】
- 《影响力》6个使人顺从的武器之一互惠原理深入剖析
- Python | 在列表中指定索引处添加元素的程序
- 面试题系列-redis连环11问
- Guitar Pro8(简称GTP8)正式版吉他谱神器
- 公制与英制长度转换 c语言,公制和英制的换算在线(在线公制转英制转换器)
- 学大数据需要具备四种条件?你具备几种?
- STM8S003引脚坑(开发过的人都知道)
- js 使用tel标签实现拨打电话
- DeepFlow: Deep Learning-Based Malware Detection by Mining Android Application for Abnormal Usage 2
- 红日安全 ATT&CK VulnStack靶场(三)
- 大专学的计算机如何进国企,专科毕业生想进国企?这三大专业不要错过,成功率高达60%...
- 万字博文让我们携手一起走进bs4的世界【python Beautifulsoup】bs4入门 find()与find_all()
- win10修改桌面图标大小
- 负数的二进制表示及左移功能的验证
热门文章
- [日常] 最近的一些破事w...
- Time flies
- CCF201909-5 城市规划【树形DP】(100分题解链接)
- UVA11582 Colossal Fibonacci Numbers!【快速模幂+数列模除】
- 【社会/人文】概念的理解 —— 断舍离、饭(饭制版)
- LaTex 加粗(加黑)的方式
- 电子元件 —— 二极管
- Agglomerative Hierarchical Algorithms(凝聚式层次聚类)
- python用generator打印杨辉三角_python写generator输出杨辉三角遇到问题,望高手解答!...
- html军事学校模板,军事训练学校网站模板