ScrollView .scrollTo not working? Saving ScrollView position on rotation

前端 未结 7 1494
没有蜡笔的小新
没有蜡笔的小新 2020-12-05 02:18

Ok.. I must be overlooking something real simple here, but i think i\'m trying to do something fairly basic.. Simply retain the scrollbar position of a ScrollView on orienta

7条回答
  •  无人及你
    2020-12-05 02:27

    Instead of sending scroll action to next run-loop, you can scroll your view in global layout callback:

    @Override
    public void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        sView.getViewTreeObserver().addOnGlobalLayoutListener(
            new ViewTreeObserver.OnGlobalLayoutListener() {
                @Override
                public void onGlobalLayout() {
                    sView.scrollTo(sViewX, sViewY);
                }
            }
        );
    }
    

提交回复
热议问题