ajay
ajay

Reputation: 916

Nested Recycler View Scrolling Issue

I have used Recycler View Inside Nested Scroll View(which is within CoordinatorLayout):

        <android.support.v4.widget.NestedScrollView
            android:id="@+id/scroll"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">

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

                <android.support.v7.widget.RecyclerView
                    android:id="@+id/sections_recycler_view_linearlayout"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical" />

            </RelativeLayout>

        </android.support.v4.widget.NestedScrollView>

Within the adapter of above recycler I have added Child Recycler Views programatically using setNestedScrollingEnabled as false.

My Issue is: When I am scrolling the child recycler, as soon as its scroll is completed the parent recycler scrolls to top, as if I am setting its adapter again. I have not added any code to notify adapter or to scroll to top-most recycler item or to set adapter again. I could not figure out the reason for this strange behavior.

Any help would be highly appreciated.. !!!

Upvotes: 1

Views: 1993

Answers (3)

Khalid Rukon
Khalid Rukon

Reputation: 11

Add to your parent Recycler View:

android:descendantFocusability="blocksDescendants"

Upvotes: 1

Sandip Savaliya
Sandip Savaliya

Reputation: 784

Easy, Add

android:fillViewport="true"

to your NestedScrollview and you will be good to go.

Upvotes: 0

ajay
ajay

Reputation: 916

I was display progress bar in child recycler views until I receive data from server. And once I get data I was populating it. I had used staggered Adapter for child recyclers with row count 2 and hence after data got populated my parent recyler's height was changing.

I used setHasFixedSize(false) for parent recycler view as its height was changing and I have not seen the issue again till now.

Upvotes: 0

Related Questions