我在我的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;
}
我该如何解决这个问题?
答案 0 :(得分:1)
我猜测你修改了按钮的行为&#39;触摸听众。删除它,您的RecyclerView应该可以正常工作。