RecyclerView手势监听器

时间:2018-03-19 13:31:15

标签: java android android-recyclerview

我有一个简单的布局,其中RecyclerView和自定义ViewGroup位于回收商上方,SimpleOnGestureListener上有ViewGroupSimpleOnGestureListener我需要在onFling回调中检测向左滑动/向右滑动事件。

滑动检测工作正常,但回收器项目暂时无法点击。 我已尝试在onSingleTapUp()中处理SimpleOnGestureListener事件,并按recyclerView.onTouchEvent(e)将其处理为回收站,但它不起作用。

还尝试管理onTouchEvent,如下所示:

@Override
public boolean onTouchEvent(MotionEvent e) {
    LayoutManager manager = getLayoutManager();
    if (manager != null) {
        for (int i = 0; i < manager.getItemCount(); i++) {
            manager.getChildAt(i).onTouchEvent(e);
        }
    }
    return false;
}

但点击仅适用于1&n;回收商品。 有没有办法处理我的ViewGroup滑动事件,这个事件位于回收者之上并将点击事件处理到recyclerview项目?

1 个答案:

答案 0 :(得分:0)

在自定义RecyclerView班级覆盖onTouchEvent()

@Override
    public boolean onTouchEvent(MotionEvent e) {
       // find if RecyclerView item exists with given coordinates
        View childView = findChildViewUnder(e.getX(), e.getY());
        //if exists - perform click
        if (childView != null) {
            childView.performClick();
        }
        return false;
    }