RecyclerView的使用(三)
上个小结中介绍了如何使用RecyclerView显示不同的数据展示样式(瀑布流也是可以显示的,从GridView改就好)
本节来为RecyclerView的item添加监听事件。
RecyclerView本身没有为item设置监听事件,想要使用onclick或者onLongclick事件需要自己定义(这是最坑爹的),然后暴露方法供调用
实现RecyclerView 的item 的监听事件需要以下几步:
(鸿洋大神表示实现该方法有很多)我这里就使用大神在讲解中所用的方法:
1、在Adapter方法中添加监听接口onItemClickListener和onItemLongClickListener;
2、暴露接口的set方法;
3、在onBindviewHolder方法中编写onItemClickListener和onItemLongClickListener的监听
4、调用该方法
实现效果:
点击

长按

在Adapter方法中添加监听接口onItemClickListener和onItemLongClickListener
public interface OnItemClieckLinster{
void onItemClickListener(View view , int pos);
void onItemLongClickListener(View view , int pos);
}
暴露方法
private OnItemClieckLinster onItemClieckLinster;
public void setOnItemClieckLinster(OnItemClieckLinster listener){ this.onItemClieckLinster = listener;
}
实现监听 修改onBindViewHolder方法
//绑定ViewHolder
@Override
public void onBindViewHolder(final MyViewHolder holder, final int position) {
//为textview 赋值
holder.tv.setText(mDatas.get(position)); if(onItemClieckLinster != null){ //onitemclicklistener
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onItemClieckLinster.onItemClickListener(holder.itemView , position);
}
}); //onitemlongclicklistener
holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) { onItemClieckLinster.onItemLongClickListener(holder.itemView , position);
return false;
}
});
}
}
调用监听
myAdapter.setOnItemClieckLinster(new MyAdapter.OnItemClieckLinster() {
@Override
public void onItemClickListener(View view, int pos) {
Toast.makeText(MainActivity.this, "click" + pos , Toast.LENGTH_SHORT).show();
}
@Override
public void onItemLongClickListener(View view, int pos) {
Toast.makeText(MainActivity.this, "long click" + pos , Toast.LENGTH_SHORT).show();
}
});
做完上面的操作就能实现图片上的效果啦~
不过有没有发现item没有点击动画?这怎么行呢!下节我们九尾item添加点击动画吧!
RecyclerView的使用(三)的更多相关文章
- android studio中使用recyclerview小白篇(三)
继续接着昨天的来,昨天终于弄好了一个例子,但是那个没有点击事件, 需要自己添加,参照别人的例子,弄了个比较简单的,主要是改动myRecycleradatper.java中的部分. 增加如下的接口: / ...
- Android之RecyclerView简单使用(三)
使用过ListView滴小伙伴都知道.ListView有这样一个属性android:divider,用来设置每一个item之间切割线滴属性.问题来了,那么RecyclerView这个控件有没有这个属性 ...
- 【FastDev4Android框架开发】RecyclerView完全解析之下拉刷新与上拉加载SwipeRefreshLayout(三十一)
转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/49992269 本文出自:[江清清的博客] (一).前言: [好消息] ...
- RecyclerView 的介绍以及多布局的实例
RecyclerView 的使用以及多布局的实例 RecyclerView 是在Android5.0之后推出的,是一个比ListView更加灵活更加高效的适配器类型控件.但是RecyclerView不 ...
- Android笔记——RecyclerView替代ListView
ListView是常用列表控件,但设置Adapter时自定义代码较为复杂,因此Android3.0后,增加RecyclerView替代ListView RecyclerView没有提供OnItemCl ...
- Android 高级UI设计笔记07:RecyclerView 的详解
1. 使用RecyclerView 在 Android 应用程序中列表是一个非常重要的控件,适用场合非常多,如新闻列表.应用列表.消息列表等等,但是从Android 一出生到现在并没有非常 ...
- Android RecyclerView完全解析
RecyclerView完全解析 (一) 前言 话说RecyclerView已经面市很久,也在很多应用中得到广泛的使用,在整个开发者圈子里面也拥有很不错的口碑,那说明RecyclerView拥有比Li ...
- 为RecyclerView打造通用Adapter
##RecycleView简单介绍 RecyclerView控件和ListView的原理有非常多相似的地方,都是维护少量的View来进行显示大量的数据.只是RecyclerView控件比ListVie ...
- Android开发——RecyclerView特性以及基本使用方法(一)
)关于点击事件,没有像ListView那样现成的API,但是自己封装起来也不难,而且我们使用ListView时,如果item中有可点击组件,那么点击事件的冲突也是一个问题,而在RecyclerView ...
- Android RecyclerView嵌套RecyclerView
原理 RecyclerView嵌套RecyclerView的条目,项目中可能会经常有这样的需求,但是我们将子条目设置为RecyclerView之后,却显示不出来.自己试了很久,终于找到了原因:必须先设 ...
随机推荐
- 写pdf文件
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- GoogleMap和高德地图最新的瓦片图地址是用什么加密或者压缩
https://mts1.googleapis.com/vt?pb=!1m4!1m3!1i13!2i2475!3i3029!2m3!1e0!2sm!3i293208756!3m9!2sen-US!3s ...
- Android的四大组件之Activity
Android的四大组件之Activity Activity:是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,B ...
- 学习Maven之Maven Surefire Plugin(JUnit篇)
1.maven-surefire-plugin是个什么鬼? 如果你执行过mvn test或者执行其他maven命令时跑了测试用例,你就已经用过maven-surefire-plugin了.maven- ...
- Windows Phone App Studio发布重要更新-支持Windows 8.1 源代码生成
自2013年8月Apps Team发布Windows Phone App Studio以来,由于其低入门门槛和较好的易用性,用户和项目数量增长迅速,从Windows Phone Developer B ...
- Linux 平台安装Oracle Database 12c
1)下载Oracle Database 12cRelease 1安装介质 官方的下载地址: 1:http://www.oracle.com/technetwork/database/enterpris ...
- 0024 Java学习笔记-面向对象-包装类、对象的比较、String常量池问题
包装类 基本类型-->包装类 byte-->Byte short-->Short int-->Integer long-->Long char-->Characte ...
- 设计模式C#实现(十六)——中介者模式
意图 0 适用性 1 结构 2 实现 3 效果 4 参考 5 意图 用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互. 适用 ...
- 烂泥:Postfix邮件服务器搭建之准备工作
说实话,Postfix邮件服务器的搭建是一件很麻烦的事情,需要各种软件之间的配置和调试.在写这篇文章之前,我也是搭建测试了不下于10次才算把整个流程给走通,今天刚好有时间把整个搭建过程记录下来. 在正 ...
- 打开Application Data
1.建后缀名为reg的新文件,复制以下代码后点击运行. Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\runas]@=& ...