RecyclerView实现Item点击事件方法三/四

原创 2016年08月30日 20:41:46

此系列文章隔上次发布有一段时间,原因就是懒(其实是比较忙),今天来说下剩下的两种方法,如何优雅的实现

对于方法三我这里就不说了,因为有很多文章都有说明,那就是基于RecyclerView.OnItemTouchListener,刚开始我也是按这种思路实现的,发现确实很优雅,当时也没发现有什么不妥,然后项目中就用起来了,后来发现还是有问题的。问题点:当你的ItemView中有View也要设置点击事件时,那么这个时候ItemViewClickListener事件与子View的ClickListener事件冲突

那么如何解决这个问题了?下面我们接着介绍第4种实现方案

此方法我也是Google到一位大牛的方案,我觉得可行,大家可以参考下

首先要定义一个自己的RecyclerView类我就不说了,直接上代码

//初始化
private void init() {
        addOnChildAttachStateChangeListener(new OnChildAttachStateChangeListener() {
            @Override//当子View被添加到Window
            public void onChildViewAttachedToWindow(View view) {
                //此处参数的view就是ItemView
                //这里可以这么实现
                view.setOnClickListener(new View.OnClickListener(){
                    public void onClick(View v){
                        //这里就可以回调自己定义的接口方法了
                    }
                });
            }

            @Override//当子View从Window中移除/解绑
            public void onChildViewDetachedFromWindow(View view) {
                //此处参数的view就是ItemView
                //那么这里我们可以做些什么事了?
                //两种方案:
                //1.啥也不做;
                    // do nothing
                //2.把view的点击事件取消
                view.setOnClickListener(null);
            }
        });
}

好啦,看到这里我们其实已经说完了,一切尽在代码中,废话我们就不多说了,相信大家看完之前的两种实现方式以及第三种实现方式,这种方式一看就懂了,如有问题,还请大家能给我提出问题与疑问

版权声明:本文为博主原创文章,未经博主允许不得转载。

【菜鸟之路】RecyclerView添加Item点击事件

今天下午继续在项目中学着做RecyclerView,想给每个Item添加一个点击跳转,翻了翻买的两本书发现没有呃,只能百度+看看网上前辈们的代码了。   翻了一些比较不错的文章,了解到大概的几种...
  • linyishui168
  • linyishui168
  • 2017年03月16日 19:56
  • 377

给recyclerview的item添加点击事件的 一种方法

recyclerview虽然比listview要好,但是有好处的东西总是有坏处的 ,比如,recyclerview就没有对item点击事件的监听方法,之提供了一个onItemTouchListener...
  • lixuSpace001
  • lixuSpace001
  • 2017年06月28日 09:46
  • 742

Android XRecyclerView最简单的item点击事件处理

以前一直都是用PullToRefresh,后来觉得还是太out了。现在很多人都是用RecyclerView,很简单的用法,布局多样化,主要是有瀑布流。这才知道RecyclerView.LayoutMa...
  • qq_30552993
  • qq_30552993
  • 2017年07月28日 12:54
  • 934

RecyclerView onItemClick 按钮和布局都有单击事件时的处理方式

RecyclerView为了给开发者提供更大的自由度,没有默认的提供onItemClick接口。 网上有一种比较简单的实现方式 ,链接如下: http://sapandiwakar.in/recy...
  • zglslyg
  • zglslyg
  • 2015年06月07日 16:32
  • 10624

RecyclerView item内部点击事件、item点击事件冲突

1.recyclerview item内部控件没有点击事件 在recyclerview item内部控件不存在点击事件的情况下。item设置点击事件可通过添加触摸事件recyclerview.add...
  • qq_33129625
  • qq_33129625
  • 2017年12月22日 17:34
  • 87

RecyclerView实现Item点击事件方法一

RecyclerView具体是什么控件,它能做什么,相信不要我来说明了,当你能看到此文章,目的很明确,为RecyclerView实现条目点击事件,因为官方并没有为我们实现。此文章会有好几篇,每一篇会讲...
  • qJay_Dev
  • qJay_Dev
  • 2016年07月10日 15:40
  • 3041

RecyclerView的Item设置点击监听事件

RecyclerView作为安卓5.0之后推出的优秀控件,其方便性和可最大定制性,让它比listview更让开发者青睐,也正是由于RecyclerView的可定制性太强,好多功能实现都需要自己来写,今...
  • xieluoxixi
  • xieluoxixi
  • 2017年03月13日 19:04
  • 1752

LinearLayout嵌套RecycleView后无法点击,onClick失效的问题

今天在做项目时,写到了一个LinearLayout里面嵌套了RecycleView后,LinearLayout.setOnCilckListener没反应的问题,我认为是RecycleView截获了c...
  • u011987034
  • u011987034
  • 2016年10月18日 10:14
  • 2261

RecyclerView加载不同item并实现其item点击事件,实现添加常用应用的功能

先上效果图吧 点击加号 勾选需要的应用点击添加 这里出现了三种item的样式,一种是加号,一种是应用图标加文字,最后一种是应用图标加文字还有个checkBox 这里RecyclerVi...
  • jiayite
  • jiayite
  • 2016年08月27日 16:25
  • 3379

Android 解析RecyclerView(1)——带点击事件监听的通用Adapter

在之前我已经写过一篇关于设计通用Adapter的文章了:Android RecyclerView设计通用Adapter 按照最原始的做法,构建一个RecyclerView Adapter需要写挺多代...
  • new_one_object
  • new_one_object
  • 2017年06月07日 08:24
  • 744
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RecyclerView实现Item点击事件方法三/四
举报原因:
原因补充:

(最多只允许输入30个字)