Reputation: 916
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
Reputation: 11
Add to your parent Recycler View:
android:descendantFocusability="blocksDescendants"
Upvotes: 1
Reputation: 784
Easy,
Add
android:fillViewport="true"
to your NestedScrollview and you will be good to go.
Upvotes: 0
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