RecylerView不会滚动

时间:2014-12-15 02:22:14

标签: android android-layout button

我在我的Android应用中使用RecylerView,对于每一行,我使用1行作为Text,1行使用3行按钮。问题是:如果我按住按钮区域中的位置并向上/向下拖动, RecylerView不会滚动。但是如果我按住并拖动其他位置(不在按钮区域中),它会正常滚动。

public static boolean inRegion(float x, float y, View v) {
        int[] location = new int[8];
        v.getLocationOnScreen(location);
        return location[0] + v.getWidth() > x && location[1] + v.getHeight() > y 
                && location[0] < x && location[1] < y;
    }

 public static View getMapView(ViewGroup viewGroup) {
        View mapView = null;
        int size = viewGroup.getChildCount();
        for (int i = 0; i < size; i++) {
            View view = viewGroup.getChildAt(i) ;
            if (view.getTag() != null && view.getTag() instanceof String) {
                String tag = (String) view.getTag();
                if (tag.equals("MapView"))
                    return view;
            }
            if (view instanceof ViewGroup) {
                mapView = getMapView((ViewGroup) view);
                if (mapView != null)
                    break;
            }

        }
        return mapView;
    }

  @Override
    public boolean onInterceptTouchEvent(MotionEvent event) {
        long start = System.currentTimeMillis();
        View view = getMapView(this);
        boolean r = false;
        if (view != null) {
            r = inRegion(event.getRawX(), event.getRawY(), view);
        }
        if (r == false)
            return super.onInterceptHoverEvent(event);
        else
            return false;
    }

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我猜测你修改了按钮的行为&#39;触摸听众。删除它,您的RecyclerView应该可以正常工作。