Android系统。旋转时重置WebView

时间:2017-08-29 14:42:57

标签: android

我正在制作我自己的Android应用程序,有些人使用我的应用程序说该应用程序重置旋转。但我无法弄清楚什么是错的?感谢您的帮助,我对应用程序开发很陌生!

App 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();
        }
    }

}

我不知道如何解决旋转问题。

1 个答案:

答案 0 :(得分:2)

如果您想以纵向模式显示WebView,而不是在您的脑海中显示

android:screenOrientation="portrait"

或者您可以在AndroidManifest

中的标记中写下
android:configChanges="keyboardHidden|orientation|screenSize"

这样可以防止活动再次加载方向更改

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

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