首先使用RecyclerView的adapter继承:RecyclerView.Adapter

public class OrderListAdapter extends RecyclerView.Adapter {

//TODO

}

2、创建ViewHolder 需要继承

class ViewHolder extends RecyclerView.ViewHolder{

//TODO 声明view

public ViewHolder(View convertView) {

super(convertView);

//TODO 初始化view

}

}

通过onCreateViewHolder 返回好创建的布局文件:

@Override

public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

View inflate = LayoutInflater.from(mContext).inflate(R.layout.xxxx, parent, false);

return new ViewHolder(inflate);

}

接下来重点来了:

通过onBindViewHolder 带List payloads 参数的方法来区分是现实列表中的同一位置的view的刷新:

@Override

public void onBindViewHolder(RecyclerView.ViewHolder holder, int position, List payloads) {

if (null == payloads || payloads.size() < 1) {

onBindViewHolder(holder, position);

} else if (mIsActivityTop) {

for (Object payload : payloads) {

// 刷新倒计时

if (payload instanceof Integer && ((int) payload) == UPDATE_COUNT_DOWN_TIME) {

((ViewHolder) holder).tv_time.setText("刷新了"));

}

}

}

}

传入的整型:

private final static int UPDATE_COUNT_DOWN_TIME = 1;

而payloads可以List,这样就可以区分刷新不同区域的view了.

而上面的调用的onBindViewHolder(holder, position),就是重写的onBindViewHolder(holder, position)的方法了:

@Override

public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {

//TODO 写绑定view 的逻辑以及显示

}

对于什么时候会调用到onBindViewHolder(holder, position, payloads)的方法:

当你写倒计时的时候:(倒计时是用rxjava写的,在onNext的时候)

Subscription adSkipTimer Observable.interval(1, TimeUnit.SECONDS)

.observeOn(AndroidSchedulers.mainThread())

.subscribe(new Subscriber() {

@Override

public void onCompleted() {

}

@Override

public void onError(Throwable e) {

}

@Override

public void onNext(Long aLong) {

notifyItemRangeChanged(0, getItemCount(), UPDATE_COUNT_DOWN_TIME);

}

}

});

通过 notifyItemRangeChanged 来调用onBindViewHolder(holder, position, payloads)的方法。

通过notifyDataSetChanged 来调用onBindViewHolder(holder, position)的方法。

Android利用RecyclerView实现列表倒计时效果

最近面试时,面试官问了一个列表倒计时效果如何实现,然后脑袋突然懵的了O(∩_∩)O,现在记录一下. 运行效果图 实现思路 实现方法主要有两个: 1.为每个开始倒计时的item启动一个定时器,再做更新i ...

android 开发 RecyclerView 横排列列表布局

1.写一个一竖的自定义布局: <?xml version="1.0" encoding="utf-8"?>

Android开发——RecyclerView实现下载列表

本篇记录的是使用Jsoup框架爬取网页内容,结合Android的RecyclerView,从而实现批量下载小说的功能(也是我的APP星之小说下载器Android版的核心功能),思路仅供参考 本文使用了 ...

&lbrack;Android&rsqb;ListView的Adapter&period;getView&lpar;&rpar;方法中延迟加载图片的优化

以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4139998.html 举个例子吧,以好友列表为例 ListVi ...

android利用provider查询同一个数据库中没有对外暴露出来的表

[原创]转载请加本篇博客地址http://www.cnblogs.com/scarecrow-blog/p/6266042.html 个人感觉这是android provider 的一个漏洞, 废话少 ...

Android利用Looper在子线程中改变UI

MainActivity如下: package cn.testlooper; import android.app.Activity; import android.os.Bundle; import ...

android 利用反射机制获取drawable中所有的图片资源

public List> getGridData() { list=new ArrayList

Android 在滚动列表中实现视频的播放&lpar;ListView &amp&semi; RecyclerView&rpar;

这片文章基于开源项目: VideoPlayerManager. 所有的代码和示例都在那里.本文将跳过许多东西.因此如果你要真正理解它是如何工作的,最好下载源码,并结合源代码一起阅读本文.但是即便是没有 ...

在滚动列表中实现视频的播放&lpar;ListView &amp&semi; RecyclerView&rpar;

英文原文:Implementing video playback in a scrolled list (ListView & RecyclerView) 本文将讲解如何在列表中实现视频播放. ...

随机推荐

java 22 - 21 多线程之多线程的代码实现方式3

JDK5新增了一个Executors工厂类来产生线程池,有如下几个方法 A.public static ExecutorService newCachedThreadPool() B.public s ...

Spring--laobai1

1 spring的概念  (spring:ioc对象工厂+aop.) apache推出的java企业框架,提供了基于ioc的对象工厂.aop功能及其他增强功能. 2 控制反转(ioc):inversi ...

Java面向对象三大特点之封装

封装 含义:将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体是类,类通常对客户隐藏其实现细节,这就是封装的思想.封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的 ...

Unix时间戳&lpar;Unix timestamp&rpar;转换工具

http://tool.chinaz.com/Tools/unixtime.aspx 现在的Unix时间戳(Unix timestamp)是   1440732364         Unix时间戳( ...

HDU 5918 KMP&sol;模拟

Sequence I Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...

ADG打补丁

1 产品DG备库安装 16494615 补丁 主库停止向备库传输日志 alter system set log_archive_dest_state_2=defer; alter system set ...

精品手游《里奥的财富》高清版逆向移植家用机与PC平台(转)

冒险动作游戏于去年10月登陆移动平台,曾荣获App Store“年度优秀游戏”.开发商宣布将推出其HD版本,近期会陆续登陆PS4.PC.MAC.Xbox One平台. 由瑞典 ...

两个有序数组的第n大数

两个有序数组,各自含有n个元素,求第n大的元素 1.顺序遍历两个数组,计数变量k统计出现的第k小元素,时间复杂度为O(n) 代码例如以下: int getmid(int a[],int b[],int ...

lesson3&colon;使用java代码的方式对不能识别的协议进行压力测试

在我们的实际环境中,我们所使用的协议肯定不只是http的方式,对于rpc等调用协议,目前jmeter没有相应的sampler支持,这时就需要通过引入我们自己写的jar包的方式来解决这个问题.例如:当我 ...

MySQL服务相关

1.管理员身份运行cmd方法: 在C:\Windows\System32\cmd.exe右键以管理员身份运行 2.查看MySQL服务选项(路径:任务管理器-服务tab-选中任一服务点击打开服务-进入服 ...

android电脑文件列表不刷新,Android 利用RecyclerView.Adapter刷新列表中的单个view问题...相关推荐

  1. Android.mk文件语法规范(Android.mk File)

    1.Android.mk文件概述 Android.mk文件用来告诉NDK编译系统,应该如何编译这些源码.更确切地说,该文件其实就是一个小型的Makefile.该文件会被NDK的编译工具解析多次,所以要 ...

  2. android 搜索文件代码怎么写,android学习笔记(5)-一个搜索文件的APP(2)-搜索功能的实现...

    接上一篇,今天把搜索的代码放上去了.效果图如下. MainActivity.java package com.stk.afinder; import android.os.Bundle; import ...

  3. android studio文件存储路径,配置Android Studio的缓存文件路径(释放你的C盘)

    Android Studio默认安装完后会在C:\Users\YourName.xxx 缓存一些数据,有限的C盘很容易爆增. 如果你的C盘也像我这样捉襟见肘,或者你是处女座的,那么请看完本文,结果会让 ...

  4. android rar文件怎么打开方式,android开发如何打开rar压缩文件

    释放双眼,带上耳机,听听看~! 有些文件是以压缩包的形式存在的,在打开之前需要对其进行解压,虽然大多数手机系统都有自己的解压功能,但当压缩包大于4GB时,使用自己的解压功能会导致文件损坏,那么andr ...

  5. android 10文件权限 三星,三星Android系统文件夹全解

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 三星android系统的开放,使其用户可以自己查看系统和SD卡中的文件夹.就系统和SD卡中常见的目录代表什么意思,下面是一个较实用的总结: 一.SD卡中 ...

  6. android 浏览文件夹,如何浏览android中的文件夹并获取所选文件夹的路径

    当我单击一个按钮,显示一个文件浏览器时,我可以选择一个文件夹并返回它的路径.我得到这个路径将文件复制到该路径. 但我不知道如何实现这一点. 我还在Stackoverflow中寻找这个问题,但我没有找到 ...

  7. android开发 文件分享到应用,Android 实现文件分享功能(共享多个文件)

    效果如图: 神一样的代码: 针对image代码如下: Intentshare=newIntent(Intent.ACTION_SEND); share.putExtra(Intent.EXTRA_ST ...

  8. android开发 文件分享到应用,Android开发之——7.0适配之应用之间共享文件(FileProvider)...

    前言 Android 7.0强制启用了被称作StrictMode的策略,带来的影响就是你的App对外无法暴露file://类型的URI了. 如果你使用Intent携带这样的URI去打开外部App(比如 ...

  9. Android布局文件怎样转java,android studio中从布局文件到mainactivity.java的控制流

    下面是一个android应用程序的代码片段,它生成一个随机数字表单1-20,用户猜中数字,当猜中数字后按下按钮时,将比较用户编写的数字(val)和应用程序生成的数字(rand_no). 比较之后,我希 ...

最新文章

  1. 非阻塞socket的连接
  2. 香港金管局批出首批五张支付工具牌照,支付宝、微信支付等“合法”上岗
  3. 阿里中间件再获高度肯定,“三位一体”推动技术普惠
  4. re管理器Java_自定义布局管理器-FormLayout
  5. python3.6怎么安装numpy_Python3.6_安装numpy(2)
  6. WordPress疑难问题以及解决方案汇总
  7. ionic4 返回键退出app
  8. java中的mapper是什么_Java使用ObjectMapper的简单示例
  9. Unity Physics.Raycast踩坑
  10. Python for循环举例
  11. iOS 处理图片的一些小 Tip
  12. mac安装xdebug
  13. LabVIEW安装多个NI软件产品时的安装顺序
  14. JavaWeb基础教程
  15. android项目查看sdk版本号,怎查看Android项目的Android版本
  16. LED 点阵实验~点亮一个点、数字、汉字、图
  17. Amoeba:开源的分布式数据库Porxy解决方案
  18. 自己写的年会抽奖软件免费版带后门作弊,共享出来给大家(更新至V1.3)——转自哈尔滨健康生活网
  19. 加拿大玩具巨头斯平玛斯特在华确权维权,爆丸专利获赔超千万,汪汪队品牌获刑事保护...
  20. Linux系统chmod误操作目录权限恢复方法

热门文章

  1. 仿照FFmpeg在GLSL中处理HDR.ToneMapping(下)
  2. JPA中OneToMany
  3. echarts入门 堆叠折线图
  4. 光影精灵usb安装linux,惠普光影精灵台式机安装Ubuntu16.04
  5. 【BZOJ 3926】【ZJOI 2015】 诸神眷顾的幻想乡
  6. python cv2.log()
  7. CSS高级篇——过渡动画
  8. Vue 绑定Class增加容器的高度
  9. Python学习——面向对象(一)
  10. 【物联家居】第二章:服务器--玩客云刷入armbian系统,作为数据交互中心