Android滑动事件与RecyclerView的item点击事件的冲突

2019-06-24 06:21:03

参看链接 Android滑动事件与RecyclerView的item点击事件的冲突

问题:RecyclerView列表显示,我滑动这个列表的item时,会触发item的点击事件
解决:调用RecyclerView的addOnItemTouchListener()监听,根据滑动的距离判断是否相应点击事件
 recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {           public float y1,y2,x2,x1;           @Override
           public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {               if (e.getAction() == MotionEvent.ACTION_DOWN) {
                   x1 = e.getX();
                   y1 = e.getY();
               }               if (e.getAction() == MotionEvent.ACTION_UP) {
                   x2 = e.getX();
                   y2 = e.getY();                   if (Math.abs(x1 - x2) < 6) {                       return false;// 距离较小,当作click事件来处理
                   }                   if(Math.abs(x1 - x2) >60){  // 真正的onTouch事件
                       return true;
                   }
               }              return false;

           }           @Override
           public void onTouchEvent(RecyclerView rv, MotionEvent e) {

           }           @Override
           public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {

           }
       });

         

             


  • 2021-01-13 17:27:04

    Navicat配置mysql数据库用户权限

    用数据库的时候就会遇到有多个用户,分配用户权限的情况,有些用户只读,有些用户可以读写,有些用户只能操作一个或者多个数据库,如何给mysql的用户设置权限,我这里描述一下如何用navicat图形操作分配用户权限

  • 2021-01-14 06:15:04

    通过glide获取图片显示后的真正宽高

    有时候需要获取网络图片的宽高来设置图片显示的大小,很多人会直接利用Glide的加载监听去拿图片的宽高,但是这样拿到的不是图片真正的宽高,而是图片显示在ImageView后的宽高。如下:

  • 2021-01-14 09:38:57

    Chrome插件详细教程

    严格来讲,我们正在说的东西应该叫Chrome扩展(Chrome Extension),真正意义上的Chrome插件是更底层的浏览器功能扩展,可能需要对浏览器源码有一定掌握才有能力去开发。鉴于Chrome插件的叫法已经习惯,本文也全部采用这种叫法,但读者需深知本文所描述的Chrome插件实际上指的是Chrome扩展。

  • 2021-01-14 17:07:51

    chrome.contextMenus.create不出现菜单

    主要原因是,我每次刷新玩,都复制一下右键,然而并没有出现菜单,一度颓废啊,因为demo,还有其他人的文章都是这样的。 哎,后来发现是这样的,我缺少了contexts选项。其实我是成功了,我现在只要不选择文字,直接点右键,菜单已经出现了哦。

  • 2021-01-15 13:06:08

    监控 MongoDB -

    随着MongoDB中保存的数据越来越多,对MongoDB服务状态的监控也越来越重要,经常关注服务是否健康,才能防止故障以及优化。