2016-06-20 1 views
0

Je suis construire une application Web Android avec chargeur, mais je veux quand l'utilisateur cliquez sur le site Web de vue web un lien ou un bouton puis montrer chargeur jusqu'à ce que la réponse est alors comment fais le.comment ajouter un lien ou un bouton cliquez sur loader dans android webview site web chargé

public class MainActivity extends Activity { 
    /** Called when the activity is first created. */ 

    WebView web; 
    ProgressBar progressBar; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     web = (WebView) findViewById(R.id.webview01); 
     progressBar = (ProgressBar) findViewById(R.id.progressBar1); 

     web.setWebViewClient(new myWebClient()); 
     web.getSettings().setJavaScriptEnabled(true); 
     web.loadUrl("http://www.example.com"); 
    } 
    public class myWebClient extends WebViewClient 
    { 
     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
      // TODO Auto-generated method stub 
      super.onPageStarted(view, url, favicon); 
     } 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      // TODO Auto-generated method stub 

      view.loadUrl(url); 
      return true; 

     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      // TODO Auto-generated method stub 
      super.onPageFinished(view, url); 

      progressBar.setVisibility(View.GONE); 
     } 
    } 

    // To handle "Back" key press event for WebView to go back to previous screen. 
    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    { 
     if ((keyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) { 
      web.goBack(); 
      return true; 
     } 
     return super.onKeyDown(keyCode, event); 
    } 
} 

Répondre

0

Voici un exemple de la façon de résoudre votre problème. WebChromeClient fournit l'écouteur de chargement.Plus info here.

webView.setWebChromeClient(new WebChromeClient() { 
     @Override 
     public void onProgressChanged(WebView view, int newProgress) { 
      if (newProgress == 100) 
       progressBar.setVisibility(View.GONE); 
      else { 
       progressBar.setProgress(newProgress); 
       progressBar.setVisibility(View.VISIBLE); 
      } 
     } 
    }); 
+0

i doivent impliment sur ce code ci-dessus – ImHitsuAjmera

+0

copier et coller la plupart du temps –

+0

ce code toute forme site développeur Android vous fournir par google – ImHitsuAjmera