【问题标题】:android webview tilt screen page refreshingandroid webview 倾斜屏幕页面刷新
【发布时间】:2012-08-14 14:02:44
【问题描述】:

我在我的 android 应用程序中使用 webview。它成功加载了一个网页。当我点击一个链接时,它会在 webview 而不是在浏览器中打开新页面。现在我的问题是,在倾斜屏幕时,页面会刷新,并且再次加载主页而不是我们之前的页面。我该如何克服这个问题?在此先感谢..我的代码如下:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);

    webView = (WebView) findViewById(R.id.webView1);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.loadUrl("http://www.xyz.com");
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.setWebViewClient(new MyWebViewClient());
}

我的 webviewclient 类:

public class MyWebViewClient extends WebViewClient {

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    view.loadUrl(url);
    return true;
}}

【问题讨论】:

    标签: android url webview tilt


    【解决方案1】:

    我说得有点晚了,但这个想法也很有趣:

    http://www.devahead.com/blog/2012/01/preserving-the-state-of-an-android-webview-on-screen-orientation-change/

    基本上:

    1 - 你使用了 savedInstanceState

    2 - 您可以根据您的 savedInstanceState 以编程方式创建您的 webView,这样就不会重新加载,只是倾斜时原始 webView 的精确副本。

    【讨论】:

      【解决方案2】:

      嗯,那是因为当方向改变时,活动完成并重新启动。因此再次调用 onCreate() 并加载第一个 URL。您必须保存 webview 的状态并在方向更改时恢复它。

      猜你喜欢
      • 2016-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      相关资源
      最近更新 更多