嵌套的scrollview会自动滚动到底部

Luk*_*son 29 android gridview android-fragments android-nestedscrollview

我在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();
}
Run Code Online (Sandbox Code Playgroud)

在片段之间滑动时会调用以下系统方法: 在此输入图像描述

Jos*_*ddy 135

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

  • 你在跟我开玩笑吗?这实际上有效!非常感谢. (6认同)
  • 真棒:)总是想知道人们如何找到这些解决方案. (5认同)
  • 令人难以置信的是,这个技巧最终解决了我们已经经历了很长一段时间的许多*小故障.我们在各种屏幕中都有很多级别的嵌套回收/滚动视图,这一行最终帮助我们理解了这个问题. (3认同)
  • EditText 在此之后不可聚焦 (2认同)