SwipeRefreshLayout+RecyclerView点击问题

SwipeRefreshLayout+RecyclerView点击问题

当我们使用SwipeRefreshLayout+RecyclerView的时候,会遇到点击事件无法响应,只有滑动后才能响应的问题。

解决办法:将SwipeRefreshLayout父布局ConstraintLayout替换为LinearLayout或者RelativeLayout。

修改前代码:

<androidx.constraintlayout.widget.ConstraintLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    ......

    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <androidx.recyclerview.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>

    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

</androidx.constraintlayout.widget.ConstraintLayout >

修改后代码:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    ......

    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <androidx.recyclerview.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>

    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

</RelativeLayout>

猜你喜欢

转载自blog.csdn.net/summerrse/article/details/108314566