如何保留滚动视图的位置?
当我点击滚动视图中的按钮时,会打开一个webview(这是一个不同的活动),然后当我们按下后退按钮时,滚动视图从顶部开始。但我想保留scrollview的位置我该怎么做?
我试图使用它,但是工作。
scrollView.scrollTo(0, 200);
onResume中的
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
scrollView.scrollTo(0, position);
}
答案 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;
}
});