2016-05-06 5 views
0

Bitte sagen Sie mir, wie Sie das Webview im Hintergrund laden. Ich habe eine App, die das Android-Webview verwendet. Das Problem ist, um die Webview zu laden dauert es zu viel der Zeit .. so möchte ich nicht zeigen meine Website laden .. stattdessen muss ich den Splash-Screen anzeigen und nachdem Webview geladen ist, möchte ich zeigen meine komplett geladene webview ... Ich probierte onPageStarted (um den Splash anzuzeigen) und onPageFinished (um den Splash zu verbergen) es funktioniert nicht .... Ich versuchte AsyncTast doItBackground Methode, aber es gibt mir den Fehler, dass es aufgerufen werden muss vom ui Thead .. Bitte mit mir den Code einer beliebigen Quelle helfen oder das Beispielprogramm, dies zu tun ....So laden Sie das Android-Webview in den Hintergrund und zeigen es nach Abschluss

Antwort

0

Verwendung unter Code- habe ich gezeigt, progressDialog, U es wie pro Ihre Anforderung verwalten

web = (WebView)v.findViewById(R.id.web); 

      WebSettings settings = web.getSettings(); 
      settings.setJavaScriptEnabled(true); 
      web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 

      final AlertDialog alertDialog = new AlertDialog.Builder(getActivity()).create(); 

      progressBar = ProgressDialog.show(getActivity(), getString(R.string.app_name), "Loading..."); 

      web.setWebViewClient(new WebViewClient() { 
       public boolean shouldOverrideUrlLoading(WebView view, String url) { 

        view.loadUrl(url); 
        return true; 
       } 

       public void onPageFinished(WebView view, String url) { 

        if (progressBar.isShowing()) { 
         progressBar.dismiss(); 
        } 
       } 

       @SuppressWarnings("deprecation") 
       public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 

        Toast.makeText(getActivity(), "Oh no! " + description, Toast.LENGTH_SHORT).show(); 
        alertDialog.setTitle("Error"); 
        alertDialog.setMessage(description); 
        alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
         public void onClick(final DialogInterface dialog, final int which) { 
          return; 
         } 
        }); 
        alertDialog.show(); 
       } 
      }); 

      web.loadUrl("https://www.facebook.com/Schapp-Demo-451986454993905/"); 
Verwandte Themen