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();
}
追加 Android:descendantFocusability="blocksDescendants"
NestedScrollViewの子レイアウトに
GridViewのnestedScrollView.scrollTo(0, 0);
メソッドの最後にonLayoutChanged()
を追加すると、問題は解決します。ただし、nestedScrollViewが最初から自動的にスクロールしないようにする方が合理的です。
アイデア?