我有一个带有 GridLayoutManager 的 Recyclerview,它的子项可能在其中有一个垂直的 RecyclerView。这是屏幕截图:
我已经为这个场景创建了适配器。它正确显示,但无论内部有多少项目,内部 Recyclerview 都不会滚动。谁能建议如何使内部和主要 RecyclerViews 滚动?
最佳答案
我找到了解决方案。我只需要禁用父级的触摸事件,以防 Recyclerview 接收到触摸事件。这是对我有用的代码 fragment :
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
关于android - RecyclerView 内的 RecyclerView 不滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42858634/