android RecyclerView onInterceptTouchEvent 函数不触发 ACTION_MOVE
RecyclerView的onInterceptTouchEvent函数不会触发ACTION_MOVE事件。onInterceptTouchEvent函数主要用于拦截触摸事件,判断是否拦截事件交给子View处理或者自己处理。而ACTION_MOVE事件是由子View处理的,不会被RecyclerView的onInterceptTouchEvent函数拦截。
如果您想在RecyclerView中处理ACTION_MOVE事件,可以重写RecyclerView的onTouchEvent函数,在onTouchEvent函数中处理ACTION_MOVE事件。例如:
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
// 处理ACTION_MOVE事件
break;
default:
break;
}
return super.onTouchEvent(event);
}
在这个重写的onTouchEvent函数中,可以处理ACTION_MOVE事件以及其他事件,然后调用super.onTouchEvent(event)将事件传递给子View处理。
请注意,如果您重写了RecyclerView的onTouchEvent函数,在处理ACTION_MOVE事件时,可能会影响RecyclerView的滚动功能。因此,您需要根据具体的需求,合理地处理ACTION_MOVE事件
原文地址: https://www.cveoy.top/t/topic/is7Y 著作权归作者所有。请勿转载和采集!