为什么我的webview片段在旋转屏幕时变为空?Android-Java

为什么我的webview片段在旋转屏幕时变为空?Android-Java,java,android,android-fragments,webview,Java,Android,Android Fragments,Webview,我的主要班级: package edu.temple.webbrowser; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTran

我的主要班级:

 package edu.temple.webbrowser;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;

import android.content.Context;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.View;
import android.view.WindowManager;
import android.widget.Toast;

public class BrowserActivity extends AppCompatActivity implements PageControlFragment.SendURLInterface, PageControlFragment.goBackInterface, PageControlFragment.goNextInterface, PageViewerFragment.SetURLInterface, PageViewerFragment.resetUrlInterface {



    PageControlFragment PCFrag = new PageControlFragment();
    PageViewerFragment PVFrag;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setTitle("Browser Activity");

        if(getSupportFragmentManager().findFragmentById(R.id.page_viewer) == null && getSupportFragmentManager().findFragmentById(R.id.page_control) == null){
            
            PVFrag = new PageViewerFragment();
            FragmentManager FM = getSupportFragmentManager();

            FragmentTransaction FT = FM.beginTransaction();

            FT.add(R.id.page_viewer, PVFrag);
            FT.add(R.id.page_control, PCFrag);
            FT.commit();
        }
    }

    @Override
    protected void onSaveInstanceState(@NonNull Bundle outState) {
        super.onSaveInstanceState(outState);
    }

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

    public void SendURL(String URL){
        String reqStr = "https://";
        if(!URL.substring(0,reqStr.length()).equals(reqStr)){
            URL = reqStr.concat(URL);
        }

        PVFrag.setURL(URL);

        PCFrag.setText(PVFrag.getURL());
    }

    @Override
    public void SetURL() {

        PCFrag.setText(PVFrag.getURL());
    }

    @Override
    public void goBack() {
        PVFrag.goBack();
    }

    public void goNext() {
        PVFrag.goNext();
    }

    public void resetUrl(){
        String reset = PCFrag.getText();
        PVFrag.setURL(reset);
    }
}
片段:

public class PageViewerFragment extends Fragment {
WebView browser;

String reqStr = "https://";

private Bundle webViewBundle;
String url_ = "https://google.com";

public PageViewerFragment() {
    // Required empty public constructor
}

public static PageViewerFragment newInstance() {
    PageViewerFragment fragment = new PageViewerFragment();

    return fragment;
}


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
    super.onSaveInstanceState(outState);
    browser.saveState(outState);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    if (savedInstanceState == null) {
        browser.loadUrl("https://www.google.com");
    } else {
        browser.restoreState(savedInstanceState.getBundle("web"));
    }
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View v = inflater.inflate(R.layout.fragment_page_viewer, container, false);

    browser = v.findViewById(R.id.browser);
    browser.setWebViewClient(new WebViewClient());



    browser.setWebViewClient(new WebViewClient(){
        @Override
        public void onPageFinished(WebView view, String url) {

            ((PageViewerFragment.SetURLInterface) getActivity()).SetURL();
        }
    });


    return v;
}

public String boolString(boolean b){
    if(b) return "true";
    return "false";
}

public void goBack(){



    if(browser.canGoBack()){
        browser.goBack();
    }


}

public void goNext(){


    if(browser.canGoForward()){
        browser.goForward();
    }

}

public void setURL(String url) {



    browser.loadUrl(url);

}

public String getURL(){
    return browser.getUrl();
}

interface SetURLInterface {
    void SetURL();
}

interface resetUrlInterface{
    void resetUrl();
}
除了旋转屏幕,webview片段变为空外,其他一切都正常工作。我花了很多时间在帖子中寻找解决方案。页面控件片段工作正常,当我单击go按钮将url发送到页面查看器时,程序崩溃