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