Listener of Recyclerview inside NestedScrollView not fired

Viewed 62

I have a recyclerview inside of NestedScrollView. I need scrollListener on both of them but, only nestedScrollView Listener fired.

I do solutions below but problem not solved:

1- I change value of nestedScrollEnabled property in recyclerview and problem not solved

2- I add app:layout_behavior="@string/appbar_scrolling_view_behavior" property on both of them(nested and recyclerview)

Please note that I need both of listeners. Please help me to solve this problem

<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".view.fragment.store_details.StoreDetailsFragment">

<com.google.android.material.appbar.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:elevation="2dp"
    app:elevation="2dp">

    <com.google.android.material.appbar.CollapsingToolbarLayout
        style="@style/ToolbarStyle"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:toolbarId="@+id/toolbar">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:id="@+id/csr_collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/grayLight"
            app:layout_collapseMode="parallax">

            <ImageView
                android:id="@+id/img_banner"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:contentDescription="@null"
                android:scaleType="centerCrop"
                app:layout_collapseMode="parallax"
                app:layout_constraintDimensionRatio="H,6:4"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

            <TextView
                android:id="@+id/tv_delivery_price"
                style="@style/M12A100Dark"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginBottom="16dp"
                android:background="@drawable/bg_white_radius_huge"
                android:paddingHorizontal="8dp"
                android:paddingVertical="2dp"
                android:visibility="gone"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                tools:text="Delivery: 4500T"
                tools:visibility="visible" />

            <TextView
                android:id="@+id/tv_min_price"
                style="@style/M12A100Dark"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="10dp"
                android:background="@drawable/bg_white_radius_huge"
                android:paddingHorizontal="8dp"
                android:paddingVertical="2dp"
                android:visibility="gone"
                app:layout_constraintBottom_toBottomOf="@id/tv_delivery_price"
                app:layout_constraintStart_toEndOf="@id/tv_delivery_price"
                app:layout_constraintTop_toTopOf="@id/tv_delivery_price"
                tools:text="MIN. ORDER: 60,000 T"
                tools:visibility="visible" />

        </androidx.constraintlayout.widget.ConstraintLayout>

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?actionBarSize"
            android:elevation="2dp"
            app:elevation="2dp"
            app:layout_collapseMode="pin">

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

                <com.makeramen.roundedimageview.RoundedImageView
                    android:id="@+id/img_search"
                    android:layout_width="40dp"
                    android:layout_height="40dp"
                    android:layout_marginEnd="16dp"
                    android:background="@color/mediumLight"
                    android:src="@drawable/ic_search_round"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintTop_toTopOf="parent"
                    app:riv_mutate_background="true"
                    app:riv_oval="true" />

                <com.makeramen.roundedimageview.RoundedImageView
                    android:id="@+id/img_back"
                    android:layout_width="40dp"
                    android:layout_height="40dp"
                    android:background="@color/mediumLight"
                    android:src="@drawable/ic_back_round"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent"
                    app:riv_mutate_background="true"
                    app:riv_oval="true" />

                <TextView
                    android:id="@+id/tv_title"
                    style="@style/B16A100Dark"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="16dp"
                    android:layout_marginEnd="16dp"
                    android:ellipsize="end"
                    android:gravity="center_vertical"
                    android:maxLines="1"
                    android:translationY="?actionBarSize"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toStartOf="@+id/img_search"
                    app:layout_constraintStart_toEndOf="@id/img_back"
                    app:layout_constraintTop_toTopOf="parent"
                    tools:text="Title" />

            </androidx.constraintlayout.widget.ConstraintLayout>

        </androidx.appcompat.widget.Toolbar>

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

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

<androidx.constraintlayout.widget.ConstraintLayout
    android:id="@+id/content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:visibility="gone"
    app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
    tools:visibility="visible">

    <androidx.core.widget.NestedScrollView
        android:id="@+id/nested"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:clipToPadding="false"
        android:paddingBottom="80dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

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

            <androidx.constraintlayout.widget.ConstraintLayout
                android:id="@+id/csr_top_part"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="24dp"
                android:paddingHorizontal="16dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent">

                <TextView
                    android:id="@+id/tv_store_name"
                    style="@style/O32A100Dark"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_marginEnd="16dp"
                    app:layout_constraintEnd_toStartOf="@id/btn_like"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent"
                    tools:text="Bombe Navab Fast Food" />

                <com.google.android.material.button.MaterialButton
                    android:id="@+id/btn_like"
                    style="@style/Widget.Material3.Button.IconButton"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    app:icon="@drawable/ic_outline_favorite"
                    app:iconSize="24dp"
                    app:iconTint="@color/primaryDark"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintTop_toTopOf="parent"
                    app:rippleColor="@color/lightGray" />

                <TextView
                    android:id="@+id/tv_store_description"
                    style="@style/R16A100Dark"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="12dp"
                    app:layout_constraintEnd_toEndOf="@id/btn_like"
                    app:layout_constraintStart_toStartOf="@id/tv_store_name"
                    app:layout_constraintTop_toBottomOf="@id/tv_store_name"
                    tools:text="I'm loving it!" />

            </androidx.constraintlayout.widget.ConstraintLayout>

            <androidx.constraintlayout.widget.ConstraintLayout
                android:id="@+id/csr_details"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="24dp"
                android:paddingHorizontal="16dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/csr_top_part">

                <androidx.constraintlayout.widget.ConstraintLayout
                    android:id="@+id/csr_rate"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:paddingVertical="8dp"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent">

                    <androidx.appcompat.widget.AppCompatImageView
                        android:id="@+id/img_rate"
                        android:layout_width="16dp"
                        android:layout_height="16dp"
                        android:adjustViewBounds="true"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintTop_toTopOf="parent"
                        app:srcCompat="@drawable/ic_rate_3" />

                    <TextView
                        android:id="@+id/tv_rate"
                        style="@style/R14A100Dark"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginStart="16dp"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintStart_toEndOf="@id/img_rate"
                        app:layout_constraintTop_toTopOf="parent"
                        tools:text="Amazing 9.6" />

                </androidx.constraintlayout.widget.ConstraintLayout>

                <androidx.constraintlayout.widget.ConstraintLayout
                    android:id="@+id/csr_time"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:paddingVertical="8dp"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toBottomOf="@id/csr_rate">

                    <androidx.appcompat.widget.AppCompatImageView
                        android:id="@+id/img_time"
                        android:layout_width="16dp"
                        android:layout_height="16dp"
                        android:adjustViewBounds="true"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintTop_toTopOf="parent"
                        app:srcCompat="@drawable/ic_time"
                        app:tint="@color/primaryDark" />

                    <TextView
                        android:id="@+id/tv_time"
                        style="@style/R14A100Dark"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_marginHorizontal="16dp"
                        android:ellipsize="end"
                        android:maxLines="2"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintEnd_toStartOf="@+id/bt_more_time"
                        app:layout_constraintStart_toEndOf="@id/img_time"
                        app:layout_constraintTop_toTopOf="parent"
                        tools:text="Open . Closes at 20:45" />

                    <com.google.android.material.button.MaterialButton
                        android:id="@+id/bt_more_time"
                        style="@style/TonalButton"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:minWidth="0dp"
                        android:text="@string/more_info"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintTop_toTopOf="parent" />

                </androidx.constraintlayout.widget.ConstraintLayout>

                <androidx.constraintlayout.widget.ConstraintLayout
                    android:id="@+id/csr_delivery"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:paddingVertical="8dp"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toBottomOf="@id/csr_time">

                    <androidx.appcompat.widget.AppCompatImageView
                        android:id="@+id/img_delivery"
                        android:layout_width="16dp"
                        android:layout_height="16dp"
                        android:adjustViewBounds="true"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintTop_toTopOf="parent"
                        app:srcCompat="@drawable/ic_bike"
                        app:tint="@color/primaryDark" />

                    <TextView
                        android:id="@+id/tv_delivery"
                        style="@style/R14A100Dark"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginStart="16dp"
                        app:layout_constraintBottom_toTopOf="@id/tv_delivery_address"
                        app:layout_constraintStart_toEndOf="@id/img_delivery"
                        app:layout_constraintTop_toTopOf="parent"
                        tools:text="Delivery in 20 - 30 min" />

                    <TextView
                        android:id="@+id/tv_delivery_address"
                        style="@style/R14A64Dark"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginStart="16dp"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintStart_toEndOf="@id/img_delivery"
                        app:layout_constraintTop_toBottomOf="@id/tv_delivery"
                        tools:text="Berlin" />

                    <com.google.android.material.button.MaterialButton
                        android:id="@+id/bt_change_delivery"
                        style="@style/TonalButton"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:visibility="gone"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintTop_toTopOf="parent"
                        tools:text="Change" />

                </androidx.constraintlayout.widget.ConstraintLayout>

            </androidx.constraintlayout.widget.ConstraintLayout>

            <androidx.constraintlayout.widget.ConstraintLayout
                android:id="@+id/csr_super_market"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/csr_details">

                <TextView
                    android:id="@+id/tv_find_what_you_want"
                    style="@style/O20A100Dark"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_marginHorizontal="16dp"
                    android:text="@string/find_what_you_want"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />

                <androidx.recyclerview.widget.RecyclerView
                    android:id="@+id/rv_supermarket_category"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="8dp"
                    android:clipToPadding="false"
                    android:overScrollMode="never"
                    app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toBottomOf="@id/tv_find_what_you_want"
                    tools:listitem="@layout/item_supermarket_category" />

            </androidx.constraintlayout.widget.ConstraintLayout>

            <androidx.recyclerview.widget.RecyclerView
                android:id="@+id/rv_menu_products"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="48dp"
                android:clipToPadding="false"
                android:orientation="vertical"
                android:paddingBottom="80dp"
                app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/csr_details"
                tools:listitem="@layout/item_product_full_width" />

        </androidx.constraintlayout.widget.ConstraintLayout>

    </androidx.core.widget.NestedScrollView>

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/rv_menus"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="@color/white"
        android:orientation="horizontal"
        android:overScrollMode="never"
        android:paddingHorizontal="16dp"
        android:paddingVertical="16dp"
        android:visibility="invisible"
        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:listitem="@layout/item_menu_horizontal_unselected" />

</androidx.constraintlayout.widget.ConstraintLayout>

<ProgressBar
    android:id="@+id/progress"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center" />

<include
    android:id="@+id/layout_submit_order"
    layout="@layout/layout_submit_order"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:layout_margin="16dp"
    android:visibility="gone" />

<androidx.constraintlayout.widget.ConstraintLayout
    android:id="@+id/template"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingVertical="16dp"
    android:visibility="invisible">

    <include
        layout="@layout/item_menu_horizontal_selected"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom" />

</androidx.constraintlayout.widget.ConstraintLayout>

</androidx.coordinatorlayout.widget.CoordinatorLayout>

I want listener on NestedScrollView & rv_menu_products

0 Answers
Related