RecyclerView内的RecyclerView不滚动

时间:2017-03-17 13:19:29

标签: android scroll android-recyclerview

我有一个带有GridLayoutManager的Recyclerview,其子项目里面可能有一个垂直的RecyclerView。这是截图:

enter image description here

我已为此方案创建了适配器。它显示正确但内部Recyclerview不滚动,无论其中有多少项。任何人都可以建议如何使内部和主要的RecyclerViews滚动?

1 个答案:

答案 0 :(得分:18)

我找到了解决方案。我只需要在Recyclerview收到触摸事件的情况下禁用父级的触摸事件。以下是适用于我的代码段:

RecyclerView.OnItemTouchListener mScrollTouchListener = new RecyclerView.OnItemTouchListener() {
    @Override
    public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
        int action = e.getAction();
        switch (action) {
            case MotionEvent.ACTION_MOVE:
                rv.getParent().requestDisallowInterceptTouchEvent(true);
                break;
        }
        return false;
    }

    @Override
    public void onTouchEvent(RecyclerView rv, MotionEvent e) {

    }

    @Override
    public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {

    }
}; 

recyclerView.addOnItemTouchListener(mScrollTouchListener);

我在这里找到答案:Recyclerview inside Scrollview