美文网首页
Android滑动事件与RecyclerView的item点击事

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

作者: 小婷android | 来源:发表于2018-05-24 16:05 被阅读0次
    问题: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) {
    
               }
           });
    

    相关文章

      网友评论

          本文标题:Android滑动事件与RecyclerView的item点击事

          本文链接:https://www.haomeiwen.com/subject/dhusjftx.html