繁体   English   中英

安卓 旋转时重置WebView

[英]Android. WebView reset on rotate

我正在制作自己的Android应用,有人使用我的应用说应用在旋转时会重置。 但是我不知道怎么了? 我对应用程序开发非常陌生,感谢您的帮助!

应用程序Mainactivity.java

package com.danielchr.hukeplan;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {
    private WebView wb;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        wb = (WebView) findViewById(R.id.webView);
        WebSettings webSettings = wb.getSettings();
        webSettings.setJavaScriptEnabled(true);
        wb.loadUrl("https://www.hukeplan.com/");
        wb.setWebViewClient(new WebViewClient());
        if (savedInstanceState != null) {
            wb.restoreState(savedInstanceState);
        } else {
            wb.loadUrl("https://hukeplan.com");
        }

    }


    @Override
    protected void onSaveInstanceState(Bundle outState) {
        wb.saveState(outState);
    }

    @Override
    protected void onRestoreInstanceState(Bundle state) {
        super.onRestoreInstanceState(state);
    }

    @Override
    public void onBackPressed() {
        if (wb.canGoBack()) {
            wb.goBack();
        } else {
            super.onBackPressed();
        }
    }

}

我不知道如何解决轮换问题。

如果您想仅以纵向模式显示WebView,则可以在您的

android:screenOrientation="portrait"

或者您可以在AndroidManifest的代码中写下以下内容

android:configChanges="keyboardHidden|orientation|screenSize"

这样可以防止活动因方向变化而再次加载

或者您也可以在活动中覆盖此方法以处理方向更改。

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM