Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何保持滚动视图的位置?_Android_Button_Webview_Scrollview - Fatal编程技术网

Android 如何保持滚动视图的位置?

Android 如何保持滚动视图的位置?,android,button,webview,scrollview,Android,Button,Webview,Scrollview,如何保持滚动视图的位置 当我单击scrollview中的按钮时,会打开一个webview(它位于不同的活动中),然后当我们按下back按钮时,scrollview从顶部开始。但是我想保留scrollview的位置,我该怎么做 我试着用这个,但力不从心 scrollView.scrollTo(0, 200); 在简历中 @Override protected void onResume() { // TODO Auto-generated method stub super.on

如何保持滚动视图的位置

当我单击scrollview中的按钮时,会打开一个webview(它位于不同的活动中),然后当我们按下back按钮时,scrollview从顶部开始。但是我想保留scrollview的位置,我该怎么做

我试着用这个,但力不从心

scrollView.scrollTo(0, 200);
在简历中

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    scrollView.scrollTo(0, position);
}
您应该在列表中记住ScrollView.ScrollPosition的值 在活动中处理全局变量\u暂停并在中恢复该值 继续活动

您应该在列表中记住ScrollView.ScrollPosition的值 在活动中处理全局变量\u暂停并在中恢复该值 继续活动


在您的
OnResume()中尝试这种方法


在您的
OnResume()中尝试这种方法


接受的解决方案可以工作,但我使用它时有一些视觉缺陷。在滚动到所需位置之前,我可以看到滚动视图的顶部

我最终使用了OnPreDrawListener,它工作得非常好

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

接受的解决方案可以工作,但我使用它时有一些视觉缺陷。在滚动到所需位置之前,我可以看到滚动视图的顶部

我最终使用了OnPreDrawListener,它工作得非常好

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

@Saad请通知我这是否对你有帮助。谢谢,这帮助很大。当在
onViewCreated
@Saad中调用时,它也适用于片段。请通知我这是否对您有帮助。谢谢,这帮助很大。在
onViewCreated
中调用时,它也适用于片段。