如何保留scrollview的位置?

时间:2013-07-10 10:02:05

标签: android button webview scrollview

如何保留滚动视图的位置?

当我点击滚动视图中的按钮时,会打开一个webview(这是一个不同的活动),然后当我们按下后退按钮时,滚动视图从顶部开始。但我想保留scrollview的位置我该怎么做?

我试图使用它,但是工作。

scrollView.scrollTo(0, 200);
onResume中的

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    scrollView.scrollTo(0, position);
}

3 个答案:

答案 0 :(得分:2)

OnResume()

中尝试这种方式
scrollView.post(new Runnable() {
         public void run() {
                scrollView.scrollTo(0, position);
         }
 }); 

答案 1 :(得分:1)

  

你应该记住ScrollView.ScrollPosition的值   在Activity_Pause中处理全局变量并恢复该值   Activity_Resume。

答案 2 :(得分:0)

接受的解决方案有效,但我有一些使用它的视觉错误。在滚动到所需位置之前,我可以看到ScrollView的顶部。

我最终使用的是OnPreDrawListener,效果非常好。

scrollView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
    @Override
    public boolean onPreDraw() {
        scrollView.scrollTo(0, position);
        mView.getViewTreeObserver().removeOnPreDrawListener(this);
        return true;
    }
});