安卓之RecyclerView只点击RecyclerView不点击Item
来源:互联网 发布:国内搜索引擎排名算法 编辑:程序博客网 时间:2024/05/16 11:38
今天讲一下RecyclerView这个控件,使得不点击里面的item,只点击RecyclerView,写了demo随便看看哈~~~
首先先分析为什么我们设置了Recyclerview.setOnClickListener确没办法响应。其实可以看一下源码。
里面源码有这个也有点击事件的。其实直观的分析其实就是点击事件在item里面所以不在RecyclerView,里面也有这个方法的调用,导致RecyclerView的点击事件没办法继续进行。
所以这边呢,我冲这个OnItemTouchListtener这个入手看下面代码:
public static class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener { private OnClickListener mListener; public interface OnClickListener { public void onClick(View view); } GestureDetector mGestureDetector; public RecyclerItemClickListener(Context context, final RecyclerView recyclerView, OnClickListener listener) { mListener = listener; mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onSingleTapUp(MotionEvent e) { return true; } @Override public void onLongPress(MotionEvent e) { } }); } @Override public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) { if (view != null && mListener != null && mGestureDetector.onTouchEvent(e)) { mListener.onClick(view); return true; } return false; } @Override public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) { } @Override public void onRequestDisallowInterceptTouchEvent (boolean disallowIntercept){} }}
我们自己写一个虽然里面我们也设置成为onClick设置为我们需要的点击事件。这个时候我们写好了点击事件。但是我这边写的是一个内部类。。。。。
所以你们看着使用
第二步就是调入代码了呗
mRecyclerview.addOnItemTouchListener(new RecyclerItemClickListener(this,mRecyclerview, new RecyclerItemClickListener.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(context,"hello",Toast.LENGTH_LONG).show(); } }));原本这个是Item这个的点击事件。。。然后我改成了Recyclerview的点击事件了。。所以还是会保留一下Item这个名称- -然后加到这边了。。其实差不多咯。
效果如下:
阅读全文
0 0
- 安卓之RecyclerView只点击RecyclerView不点击Item
- recyclerview之item点击事件监听
- RecyclerView设置Item点击事件
- RecyclerView Item 的点击事件
- RecyclerView中item点击事件
- recyclerview点击item弹出popupwindow
- RecyclerView设置 item点击事件
- RecyclerView的item点击事件
- RecyclerView item 点击事件设置
- RecyclerView点击Item回到顶部
- RecyclerView的item点击事件
- RecyclerView中的item点击事件
- RecyclerView的item点击事件
- RecyclerView的Item点击事件
- Android RecyclerView Item点击事件
- RecyclerView的item点击事件
- 安卓开发 RecyclerView的点击事件
- Android 技术之为RecyclerView添加item的点击事件
- android 使用MVP模式完成一个小demo——登陆
- 行人检测(综述2)
- spring4天计划
- 腾讯社交广告高校算法大赛——总结
- win10家庭版本升级到专业版并激活
- 安卓之RecyclerView只点击RecyclerView不点击Item
- 使用ajax从后台向前台返回数据
- golang实现基于redis和consul的可水平扩展的排行榜服务范例
- java并发编程—优秀博文推荐
- 笔记
- 高通平台lcm型号通过cmdline向驱动传递参数的过程-module_param_string
- ajax传送表单中的文件之前后端实现
- tiny6410的yaffs2文件系统的制作及其安装(2)
- 干货分享:让你分分钟学会JS闭包