嵌套滚动视图自动滚动到底部

Nested scrollview automatically scrolls to bottom

我在 NestedScrollView 中有一个 GridView。每当 GridView 的内容发生变化时,我都使用下面的代码来调整 GridView 的大小。这工作正常,但是当我从应用程序的片段 3 滑动回片段 2(NestedScrollView 所在的位置)时,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();
}

在碎片之间滑动时调用以下系统方法:

如果我将 nestedScrollView.scrollTo(0, 0); 添加到 GridView 的 onLayoutChanged() 方法的末尾,问题就解决了。但是,首先阻止 nestedScrollView 自动滚动会更有意义。

想法?

在 NestedScrollView 的子布局中添加 android:descendantFocusability="blocksDescendants"