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 中如何实现下拉刷新相关推荐

  1. android 键盘弹出 监听,奇技淫巧之-Android监听键盘弹出与隐藏事件

    CaptainAndroid.png 相信看到这个标题,大家都会潜意识觉得:Activity中没有可以复写的方法么?或者说,没有什么listener可以让我们使用么? 抱歉,真的没有,我们潜意识都是以 ...

  2. Android EditText缴获与监听输入事件

    Android EditText缴获与监听输入事件 Android EditText截获与监听输入事件 预期目标:如下图,输入框中每输入一个字符,下面的TextView可以迅速的显示出来输入框中的内容 ...

  3. windows oracle重建监听,Windows下修改Oracle监听端口

    先放开防火墙的端口,再来改监听端口. 只有一个实例: net stop OracleOraDb11g_home1TNSListener 再运行 NET Manager 修改实例名与Listener的端 ...

  4. html中下拉列表监听事件,ExtJS 下拉框监听事件、日期选择器监听事件、实现动态给items添加删除数据...

    本文将为您描述ExtJS 下拉框监听事件.日期选择器监听事件.实现动态给items添加删除数据,具体实现方法: 1.下拉框 下拉框选择时,触发事件的方法: 在 Ext.form.ComboBox 组件 ...

  5. android列表项点击事件,Android 开发 tips(2):监听 Listview 列表项点击事件

    Android 开发 tips(2):监听 Listview 列表项点击事件 (这篇和上篇本来是应该一起写的,但是太过冗长,附链接:[SimpleAdapter 在 Listview 中的应用] ht ...

  6. Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果

    Android对ScrollView滚动监听,实现美团.大众点评的购买悬浮效果 转:http://blog.csdn.net/xiaanming/article/details/17374599 很荣 ...

  7. Android的Menu键监听

    Android的Menu键监听 其实想实现的目的很简单,按下Menu键的时候,在Activity中把一个值设置成true,同时弹出菜单,菜单消失的时候再把这个值设成false.搞来一个多小时,其实很简 ...

  8. Android通过使用系统广播监听网络状态的改变

    Android通过使用广播监听网络状态的改变 得先添加权限 //查看网络状态<uses-permission android:name="android.permission.ACCE ...

  9. Android学习按键事件监听与Command模式

    Android学习按键事件监听与Command模式 - Dufresne - 博客园 Android学习按键事件监听与Command模式 一 Command模式 意图: 将一个请求封装为一个对象,从而 ...

最新文章

  1. linux shell合并文件命令paste
  2. jython在MyEclipse控制台出现Failed to install
  3. TP5 使用IN查询时如何限制条数
  4. 五十二、Python北京美团汉堡外卖数据分析实战
  5. Spring Boot + Vue 前后端分离,两种文件上传方式总结
  6. CSS让文字在元素内绝对居中!!!【ie和谷歌】
  7. 《影响力》6个使人顺从的武器之一互惠原理深入剖析
  8. Python | 在列表中指定索引处添加元素的程序
  9. 面试题系列-redis连环11问
  10. Guitar Pro8(简称GTP8)正式版吉他谱神器
  11. 公制与英制长度转换 c语言,公制和英制的换算在线(在线公制转英制转换器)
  12. 学大数据需要具备四种条件?你具备几种?
  13. STM8S003引脚坑(开发过的人都知道)
  14. js 使用tel标签实现拨打电话
  15. DeepFlow: Deep Learning-Based Malware Detection by Mining Android Application for Abnormal Usage 2
  16. 红日安全 ATT&CK VulnStack靶场(三)
  17. 大专学的计算机如何进国企,专科毕业生想进国企?这三大专业不要错过,成功率高达60%...
  18. 万字博文让我们携手一起走进bs4的世界【python Beautifulsoup】bs4入门 find()与find_all()
  19. win10修改桌面图标大小
  20. 负数的二进制表示及左移功能的验证

热门文章

  1. [日常] 最近的一些破事w...
  2. Time flies
  3. CCF201909-5 城市规划【树形DP】(100分题解链接)
  4. UVA11582 Colossal Fibonacci Numbers!【快速模幂+数列模除】
  5. 【社会/人文】概念的理解 —— 断舍离、饭(饭制版)
  6. LaTex 加粗(加黑)的方式
  7. 电子元件 —— 二极管
  8. Agglomerative Hierarchical Algorithms(凝聚式层次聚类)
  9. python用generator打印杨辉三角_python写generator输出杨辉三角遇到问题,望高手解答!...
  10. html军事学校模板,军事训练学校网站模板