web-dev-qa-db-ja.com

ネストされたスクロールビューは自動的に下にスクロールします

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();
}

フラグメント間をスワイプすると、次のシステムメソッドが呼び出されます。 enter image description here

24
Luke Allison

追加 Android:descendantFocusability="blocksDescendants" NestedScrollViewの子レイアウトに

126
Joseph Paddy

GridViewのnestedScrollView.scrollTo(0, 0);メソッドの最後にonLayoutChanged()を追加すると、問題は解決します。ただし、nestedScrollViewが最初から自動的にスクロールしないようにする方が合理的です。

アイデア?

1
Luke Allison