webview.reload 方法调用后恢复 webview 状态。可能吗?

Restore webview state after webview.reload method call. Is it possible?

每当我在 webview 中重新加载网页时,它都会转到页面顶部。 有什么方法可以在自动重新加载后不转到页面顶部并再次滚动吗?

如果您已经有用户向下滚动的数量,您可以使用类似这样的东西。加载后的位置将向下滚动到带有 mWebView.scrollTo(0, 1000000000);

的选定值
mWebView.setWebViewClient(new WebViewClient()
{
  @Override
  public void onPageFinished(WebView view, String url)
  {
    super.onPageFinished(view, url);     

    Handler lHandler = new Handler();
    lHandler.postDelayed(new Runnable()
    {             
      @Override
      public void run()
      {
        mWebView.scrollTo(0, 1000000000);
      }
    }, 200);
  } 
});

你不能以正确的方式做到这一点,你可以通过使用 scrollTo 方法指出一些位置来实现它。但是自动加载后你会在顶部然后只有你可以使用 scrollTo 方法。

您可以通过与您的网络开发人员协调来实现这一点。

在 JavaScript 的帮助下,您可以将参数传递给在 WebView 中加载的网页。您的 Web 开发人员可以轻松滚动他们的 HTML 页面。

要调用JavaScript方法,

view.loadUrl("javascript:WEB_YOURMETHOD();");

加载时,您需要在 URL 中嵌入 JavaScript 方法。

Reference

根据一些建议解决了。 //在onPageFinished

x = (int) scrollview.getScaleX();
y = (int) scrollview.getScaleY();

根据需要定义 x,y 的值

wv.reload();
wv.scrollTo(x,y);

你想要的地方