Recarga de WebView cuando Fragmento en ViewPager se retiene de BackStack
Aquí hay un código para un básicoFragment
que contiene unWebView
.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) {
}
}
}
Tengo 2 fragmentos más básicos también (que no tieneWebView
). Luego puse todos estos 3Fragments
enViewPager
(WebFragment
, Fragment1
yFragment2
respectivamente) utilizandoFragmentAdapter
. Y agreguéandroid:configChanges="orientation|screenSize"
enAndroidManifest.xml
(Asi queWebView
no va a ser realod sobre el cambio de configración).
Ahora mi problema es que, al ejecutar la aplicación, cambié la primera página (WebFragmet) deViewPager
a la 2da página (Fragment1
) y otra vez volví a la 1ª página. Asique no hay problemaWebFragment
es como es
Ahora otra vez cambié elViewPager
Me gusta estoWebFragment
->Fragment1
->Fragment2
y regresó a la primera página invirtiendo la dirección de la acción anterior. Pero en ese momento vi elWebView
enWebFragment
esta recargando
Y un problema más, siempre que elWebView
comencé a cargar puedo ver 2 entradas de log como.
WebFragment Loading...
WebFragment Loading...
Así que mi pregunta es:
1) ¿Cómo puedo prevenir?WebView
recargando cuando elWebFragment
se retiene deBackStack
?
2) por que aquiWebView
cargando dos veces?
Solo mira esta pregunta y ayúdame (¿Impedir la recarga de WebView en FragmentPagerAdapter?).