Вложенный scrollview автоматически прокручивается вниз

У меня есть GridView внутри NestedScrollView. Я использовал приведенный ниже код для изменения размера GridView при изменении содержимого GridView. Это отлично работает, однако nestedscrollview прокручивается до самого дна, когда я провожу от фрагмента 3 приложения обратно к фрагменту 2 (где находится NestedScrollView). Как ни странно, этого не происходит при переходе от фрагмента 1 к фрагменту 2. Это также не происходит непосредственно после изменения размера GridView.

Как я могу подавить NestedScrollView от прокрутки вниз?

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

при прокрутке между фрагментами вызываются следующие системные методы: enter image description here

2 ответов


добавить android:descendantFocusability="blocksDescendants" к дочернему макету в NestedScrollView


Если я добавить nestedScrollView.scrollTo(0, 0); до конца onLayoutChanged() метод GridView проблема решена. Тем не менее, было бы разумнее предотвратить автоматическую прокрутку nestedScrollView в первую очередь.

идеи?