Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用ViewPager2+时出现滚动冲突;嵌套滚动视图+;水平循环视图_Android_Android Fragments_Android Recyclerview_Android Nestedscrollview_Android Viewpager2 - Fatal编程技术网

Android 使用ViewPager2+时出现滚动冲突;嵌套滚动视图+;水平循环视图

Android 使用ViewPager2+时出现滚动冲突;嵌套滚动视图+;水平循环视图,android,android-fragments,android-recyclerview,android-nestedscrollview,android-viewpager2,Android,Android Fragments,Android Recyclerview,Android Nestedscrollview,Android Viewpager2,main活动包含一个ViewPager2,其中填充了相同片段的实例。该片段包含一个NestedScrollView,其中包含一些细节(文本、图像等),在底部有一个水平循环视图。该应用程序的设计类似于OLX应用程序 问题是,当我尝试在RecyclerView上向左或向右滑动时,ViewPager会使用滑动,切换片段 片段布局: <?xml version="1.0" encoding="utf-8"?> <androidx.coordina

main活动
包含一个
ViewPager2
,其中填充了相同片段的实例。该片段包含一个
NestedScrollView
,其中包含一些细节(文本、图像等),在底部有一个
水平循环视图
。该应用程序的设计类似于OLX应用程序

问题是,当我尝试在
RecyclerView
上向左或向右滑动时,ViewPager会使用滑动,切换片段

片段布局:

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
    android:id="@+id/coordinatorLayout">

    <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/appBarLayout">

        <com.google.android.material.appbar.CollapsingToolbarLayout
            android:id="@+id/collapsingToolbarLayout">

            <ImageView
                android:id="@+id/backdropImageView"/>

            <androidx.appcompat.widget.Toolbar
                android:id="@+id/toolbar">
            </androidx.appcompat.widget.Toolbar>

        </com.google.android.material.appbar.CollapsingToolbarLayout>
    </com.google.android.material.appbar.AppBarLayout>

    <androidx.core.widget.NestedScrollView
        android:id="@+id/nestedScrollView"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:id="@+id/constraintLayout">

            <Some other views: TextView, ImageView</>

            <androidx.recyclerview.widget.RecyclerView
                android:id="@+id/recyclerView_with_problems"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/someTextView" />

        </androidx.constraintlayout.widget.ConstraintLayout>
    </androidx.core.widget.NestedScrollView>     
</androidx.coordinatorlayout.widget.CoordinatorLayout>
通过这样做,我可以在RecyclerView上向左/向右滑动,但我不能再在RecyclerView上向上/向下滑动,这一点都不友好

有没有其他人遇到过这个问题,愿意帮我一把?谢谢大家!

recyclerView_with_problems.addOnItemTouchListener(object : RecyclerView.OnItemTouchListener {
        override fun onInterceptTouchEvent(rv: RecyclerView, e: MotionEvent): Boolean {
            when (e.action) {
                MotionEvent.ACTION_DOWN -> rv.parent.requestDisallowInterceptTouchEvent(true)
            }
            return false
        }

        override fun onTouchEvent(@NonNull rv: RecyclerView, @NonNull e: MotionEvent) {}
        override fun onRequestDisallowInterceptTouchEvent(disallowIntercept: Boolean) {}
    })