Home » Android » android – Nested scrollview automatically scrolls to bottom

android – Nested scrollview automatically scrolls to bottom

Posted by: admin April 23, 2020 Leave a comment


I have a GridView within a NestedScrollView. I have used the code below to resize the GridView whenever the content of the GridView is changed. This works fine, however the NestedScrollView scrolls to the very bottom when I swipe from fragment 3 of the app back to fragment 2 (where the NestedScrollView resides). This doesn’t happen when swiping from fragment 1 to fragment 2, oddly. It also doesn’t happen directly after resizing the GridView.

How can I repress the NestedScrollView from scrolling to the bottom?

private static void resizeGridView(GridView gridView, int items, int columns) {
    ViewGroup.LayoutParams params = gridView.getLayoutParams();
    params.height = singleGridHeight * items;

The following system methods are called when swiping between fragments:
enter image description here

How to&Answers:

Add android:descendantFocusability="blocksDescendants" to the child layout in NestedScrollView


If I add nestedScrollView.scrollTo(0, 0); to the end of the onLayoutChanged() method of the GridView the issue is resolved. However, it would make more sense to prevent the nestedScrollView from automatically scrolling in the first place.