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) {

           }
       });

         

             


  • 2019-05-28 13:33:20

    BRVAH+MTRVA,复杂?不存在的

    言归正传,这样的一个首页,我们需要做怎么样的基础工作呢?或者说,碰到以后更复杂的页面我们应该怎么做?这里小提示下,不要再用什么类似ScrollView的这种东西了,诶,好像说的有点绝对,尽量不要用,这不是谷歌想要看到的,5.0谷歌推出了RecyclerView,从它的整个设计架构来看,简直就是为这而生的。而RecyclerView的视图是通过Adapter来渲染的。原始的Adapter,让人很蛋疼,重复工作太多,我们应该要有封装的思想,把最需要的部分提供出来,其它不用管。

  • 2019-05-29 14:19:19

    解决Git中fatal: refusing to merge unrelated histories

    Git的报错 在使用Git的过程中有时会出现一些问题,那么在解决了每个问题的时候,都需要去总结记录下来,下次不再犯。 一、fatal: refusing to merge unrelated histories 今天在使用Git创建项目的时候,在两个分支合并的时候,出现了下面的这个错误。

  • 2019-05-29 15:47:51

    撤销commit

    在git push的时候,有时候我们会想办法撤销git commit的内容

  • 2019-06-03 00:07:32

    Android程序Crash时的异常上报

    家都知道,android应用不可避免的会发生crash,无论你的程序写的多完美,总是无法完全避免crash的发生,可能是由于android系统底层的bug,也可能是由于不充分的机型适配或者是糟糕的网络状况。当crash发生时,系统会kill掉你的程序,表现就是闪退或者程序已停止运行,这对用户来说是很不友好的,也是开发者所不愿意看到的,更糟糕的是,当用户发生了crash,开发者却无法得知程序为何crash,即便你想去解决这个crash,但是由于你无法知道用户当时的crash信息,所以你也无能为力。是否真的这样呢,其实android中有处理这类问题的方法,请看下面Thread类中的一个方法#setDefaultUncaughtExceptionHandler