我有一個NestedScrollView內的GridView。每當GridView的內容發生更改時,我都使用下面的代碼來調整GridView的大小。這工作正常,但是當我從應用程序的片段3劃回片段2(NestedScrollView所在的位置)時,NestedScrollView會滾動到最底部。當從片段1滑動到片段2時奇怪,這不會發生。它也不會在調整GridView大小後立即發生。嵌套滾動視圖自動滾動到底部
我怎樣才能壓制NestedScrollView從滾動到底部?
我有一個NestedScrollView內的GridView。每當GridView的內容發生更改時,我都使用下面的代碼來調整GridView的大小。這工作正常,但是當我從應用程序的片段3劃回片段2(NestedScrollView所在的位置)時,NestedScrollView會滾動到最底部。當從片段1滑動到片段2時奇怪,這不會發生。它也不會在調整GridView大小後立即發生。嵌套滾動視圖自動滾動到底部
我怎樣才能壓制NestedScrollView從滾動到底部?
添加android:descendantFocusability="blocksDescendants"
孩子佈局NestedScrollView
你在開玩笑吧?這實際上工作!非常感謝。 –
令人難以置信的是,這個技巧最終解決了我們在相當長一段時間內遇到的許多小UI故障。我們在各種屏幕上有很多級別的嵌套回收器/滾動視圖,這1條線最終幫助我們理解了這個問題。 –
英雄!我一直在尋找這個解決方案很長一段時間!難以置信的是這很容易!謝謝! – romaneso
如果我添加nestedScrollView.scrollTo(0, 0);
到GridView問題得到解決的onLayoutChanged()
方法的末尾:片段之間滑動時
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首先自動滾動會更有意義。
想法?
試試這個http://stackoverflow.com/a/36261638/1621111 –