WebView nachladen, wenn ViewPager Fragment in beibehalten die form BackStack

Hier ist ein code für eine grundlegende Fragment enthält eine WebView.

WebFragment.java

public class WebFragment extends Fragment {
String TAG = "WebFragment";
private WebView webView;
private String currentUrl = "http://www.google.com";

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    return inflater.inflate(R.layout.webview_layout, null);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    webView = (WebView) getView().findViewById(R.id.helloWebview);
    initWebView();
    webView.loadUrl(currentUrl);
}

@SuppressLint("SetJavaScriptEnabled")
private void initWebView() {
    webView.getSettings().setJavaScriptEnabled(true);
    webView.addJavascriptInterface(new JavaScriptInterface(), "HTMLOUT");
    webView.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            Log.e(TAG, "Loding...");
            super.onPageStarted(view, url, favicon);
        }
    });
}

class JavaScriptInterface {
    public void showHTML(String html) {
    }
}
}

Habe ich 2 weitere basic-Fragmente(die keinen WebView). Dann lege ich alle diese 3 Fragments im ViewPager(WebFragment, Fragment1 und Fragment2jeweils) mit FragmentAdapter. Und ich fügte hinzu android:configChanges="orientation|screenSize" im AndroidManifest.xml(So WebView wird nicht realod auf configration ändern).

Nun mein problem ist, Beim laufen-app ich habe die 1. Seite (WebFragmet) von ViewPager 2. Seite(Fragment1) und wieder kam ich zurück zur 1. Seite. Also kein problem WebFragment ist wie es ist.

Jetzt habe ich wieder geändert, das ViewPager wie diese WebFragment-->Fragment1-->Fragment2 und kam zurück auf die 1. Seite durch Umkehrung der Richtung der oben genannten Maßnahmen. Aber damals sah ich das WebView im WebFragment Neuladen wird.

Und noch ein problem, wenn die WebView Schritte einsetzen können, sehe ich 2 log-Eintrag, wie.

WebFragment Loading...
WebFragment Loading...

Also meine Frage ist :

1) Wie kann ich verhindern, dass WebView nachladen, wenn der WebFragment beibehalten von BackStack?

2) Warum hier WebView laden zweimal?

Sehe gerade diese Frage und die mir helfen(Verhindern WebView lädt in FragmentPagerAdapter?).

InformationsquelleAutor Vishal Vijay | 2013-04-29
Schreibe einen Kommentar