项目中用到了Recyclerview,在第一行代码中学到了一种相对来说简单的点击事件方法,可是这种点击事件是在adapter中写的,没有教怎么更新item的ui和更新Recyclerview之外的控件,研究了一下,写下我的方案。

需求如下图:

首先设置点击事件,在ViewHolder中添加View view变量来保存item最外层布局的实例。

然后在onCreateViewHolder()中注册点击事件,可以为item设置点击事件,也可以为item中的控件eg:TextView设置点击事件。这正是这个写法的强大之处!

接下来更新Recyclerview外的控件,需要在adapter初始化的时候,通过构造函数,把Recyclerview外的控件传进来就可以了,然后在adapter中接收控件,并在点击事件中操作。

更新item的UI:先在adapter中写一个方法初始化handler

然后在点击事件中

在主线程类中

到此就完成了我的需求。

最新文章

  1. ElasticSearch 5学习(5)——第一个例子(很实用)
  2. JS冒泡排序(数组)
  3. ListView使用item显示不同布局
  4. js数据类型判断和数组判断
  5. 第1章 UML基础:类的关系
  6. DataRow.RowState 属性
  7. ipa 重签
  8. ios网络学习------8 xml格式数据的请求处理 用代码块封装
  9. 安卓Launcher之获取手机安装的应用列表,安卓launcher
  10. Sublime Text3自定义主题
  11. shell 编程之函数
  12. python笔记十五(面向对象及其特性)
  13. css :root 选择器
  14. mybatis-spring和spring版本搭配问题
  15. Python第一章(北理国家精品课 嵩天等)
  16. (转)Spring Boot (十):邮件服务
  17. Linux-GLIBCXX版本过低导致编译错误--version `GLIBCXX_3.4.20' not found
  18. 14 CSS题目附答案
  19. [译]ABP vNext微服务演示,项目状态和路线图
  20. php 非对称加密解密类

热门文章

  1. noip模拟赛 蒜头君的排序
  2. PHP htmlentities 和 htmlspecialchars的区别
  3. 函数式语言(functional language)定义、函数式语言的种类以及为什么函数式语言会流行起来的学习笔记
  4. Ubuntu 16.04安装Meld文件比对工具替代Beyond Compare
  5. Spring Cloud ZooKeeper集成Feign的坑1,错误:Consider defining a bean of type 'org.springframework.web.client.RestTemplate' in your configuration.
  6. linux 设置root可以远程登陆
  7. ORACLE-020:ORACLE技巧002 批量操作表
  8. ZOJ 3868 GCD Expectation (容斥+莫比乌斯反演)
  9. iOS截取视频某一帧图片(关键帧,AVAssetImageGenerator)
  10. ZOJ 3888 Twelves Monkeys (预处理+优先队列)