我在制作2个嵌套的垂直RecyclerViews时遇到问题。我知道这不是一个很好的模式,但这些是应用程序请求。
我有一个父级RecyclerView,当卡片展开时,它应滚动到顶部,在展开的部分,我有另一个RecyclerView(位置列表)。
问题是我无法将滚动事件从父级传递给子级RecyclerView。我阅读了有关NestedScrollingChild接口的信息,并试图在child中启用nestedScrolling,但没有成功。
有什么建议吗?
答案 0 :(得分:3)
我通过在我的主RecyclerView适配器上添加以下代码来修复它。效果很好。
holder.locationsList.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.v(TAG, "CHILD TOUCH");
// Disallow the touch request for parent scroll on touch of child view
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});