gpt4 book ai didi

android - ViewPager 内的水平 RecyclerView 不滚动

转载 作者:行者123 更新时间:2023-12-02 08:03:30 27 4
gpt4 key购买 nike

我在一个看起来像这样的复杂层次结构中有一个水平 RecyclerView -

<ViewPager id="+@id/first">
<ViewPager id="+@id/second"> this viewpager is taking away the scroll event
<SwipeToRefreshLayout>
<RecyclerView> //this one is vertical
<RecyclerView id="@id/rv1"> //this one is horizontal
<RecyclerView id="@id/rv2"> //this one is working fine (different type)
</RecyclerView>
</SwipeToRefreshLayout>
</ViewPager>
</ViewPager>

现在的问题是第二个 ViewPager 正在劫持 Horizo​​ntal RV 的滚动。该垂直房车中有 2 种水平房车(RV1 和 RV2)。但只有其中一个(RV1)面临这个问题。第二个(RV2)工作正常。
此外,当我按住时,滚动工作正常。当 RV1 已经在滚动并且没有稳定下来时,滚动也可以正常工作。
我已经提到其他关于将nestedScrolling 设置为false 的答案。似乎没有任何工作。

最佳答案

您可以通过覆盖 onInterceptTouchEvent 方法来实现这一点:

 mRecyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
@Override
public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent event) {
int action = event.getAction();

switch (action) {
case MotionEvent.ACTION_DOWN:
rv.getParent().requestDisallowInterceptTouchEvent(true);

break;

}
return false;
}

@Override
public void onTouchEvent(@NonNull RecyclerView view, @NonNull MotionEvent event) {

}

@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {

}
});

关于android - ViewPager 内的水平 RecyclerView 不滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54269842/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com