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

2018-05-24  本文已影响0人  小婷android
问题: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) {

           }
       });
上一篇下一篇

猜你喜欢

热点阅读