Ich habe eine Aktivität, die einen Viewpager und einen Button hat. Onclick der Schaltfläche, um die OutletMapWebView Aktivität mit jeweils benötigten Parameter (viewpager Daten) bewegt, Unten ist der Code vonWebview wird nur zum ersten Mal geladen
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pd = (Integer.parseInt(android.os.Build.VERSION.SDK) < 11)? new ProgressDialog(MainActivity.this) : new ProgressDialog(MainActivity.this, android.R.style.Theme_Holo_Panel);
webView = (WebView) findViewById(R.id.outletMapWebView);
// String MAP_URL = "<html><body><iframe width='100%' height='100%' frameborder='0' style='border:0' src='https://www.google.com/maps/embed/v1/directions?key=AIzaSyD7mjSU3lSzYHgGcUglDog9cxLNjZDq_68&origin=12.9312987,77.5154981&destination=217 East Coast Road, Singapore&mode=driving'></iframe> </body></html>";
String jala_kayu = "<html><body><iframe width='100%' height='100%' frameborder='0' style='border:0' src='https://www.google.com/maps/embed/v1/directions?key=AIzaSyD7mjSU3lSzYHgGcUglDog9cxLNjZDq_68&origin=12.9313121,77.5154951&destination=269 Jalan Kayu, Singapore&mode=driving'></iframe> </body></html>";
webView.setWebViewClient(new myWebClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setSupportZoom(true);
webView.loadDataWithBaseURL(null, jala_kayu, "text/html", "UTF-8", null);
}
public class myWebClient extends WebViewClient
{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
pd.setMessage("");
pd.setIndeterminate(true);
pd.setCanceledOnTouchOutside(false); // updated jul 3
pd.setCancelable(true); // updated jul 3
if (!isFinishing()) // updated jul 3
pd.show();
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.w("mCurrentUrl",""+url);
view.loadUrl(url);
return true;
}
// Here the page loading will stop so dismiss the ProgressDialog
public void onPageFinished(WebView view, String url) {
// this is what we should do
webView.invalidate();
pd.dismiss();
}
}
@Override
public void onBackPressed() {
System.gc();
super.onBackPressed();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
webView.invalidate();
return true;
}
return super.onKeyDown(keyCode, event);
}
Der Code ist perfekt für den ersten Klick arbeiten, öffnet sich die Google-Karte innerhalb webview, aber nach, dass auf dem Gehen zurück und änderte den viewpager und wieder wenn ich auf den Button klicke. das Webview, das leeren weißen Bildschirm zeigt. Ich habe alle gebündelten Daten geprüft, sogar die Karten-URL im Browser überprüft. Es klappt . aber im Webview funktioniert es nicht. Ich denke, es gibt etwas im Zusammenhang mit Webview nicht nach dem ersten Mal auffrischen. Bitte helfen Sie. .Danke im Voraus
Eingecheckt Lolipop und unten, funktioniert gut, aber über lolipop Version funktioniert nicht. Danke –