studio android android-activity webview indicator

webview android studio 2017



android webview client activity indicator (3)

Escriba el código siguiente en el método onCreate de onCreate .

webView.setWebChromeClient(new ChromeClient()); progress=ProgressDialog.show(this, "", "Loading..."); webView.loadUrl(url);

Crea ChromeClient clase ChromeClient en la misma actividad.

private class ChromeClient extends WebChromeClient { @Override public void onProgressChanged(WebView view, int newProgress) { if(newProgress >= 85) { progress.dismiss(); } super.onProgressChanged(view, newProgress); } }

Declara los objetos en consecuencia. Vuelve a mí si todavía te encuentras con un error. Proporcionaré el código fuente completo.

Obtuve el código para mostrar el indicador de actividad en una vista web. Revisé más de una referencia y aun así no pude hacerlo funcionar. ¿Puedes ayudarme a depurar mi código a continuación?

El indicador de actividad no viene con el código siguiente

protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.getWindow().requestFeature(Window.FEATURE_PROGRESS); final BaseActivity MyActivity = ReviewWebActivity.this; setContentView(R.layout.review_web); getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON); ScannedProduct product = getReviewUrl(); reviewUrl = product.getReviewLink(); if (reviewUrl == null) { String err = product.getErrorCode(); if(err.equals("")) err ="No Data Available for this product"; Toast.makeText(getApplicationContext(), "No Data Available for this product", 1).show(); return; } webReview = (WebView) findViewById(R.id.webReview); webReview.setWebChromeClient(new WebChromeClient() { public void onProgressChanged(WebView view, int progress) { // Make the bar disappear after URL is loaded, and changes // string to Loading... MyActivity.setTitle("Loading..."); MyActivity.setProgress(progress * 1000); // tried with 100 also } }); webReview.setWebViewClient(new ReviewWebClient()); webReview.getSettings().setJavaScriptEnabled(true); webReview.loadUrl(reviewUrl); }


No puedo publicar un comentario porque no tengo suficientes puntos de reputación, pero solo un comentario rápido sobre la respuesta aceptada: compruebe nulo antes de comprobar si se muestra el cuadro de diálogo. Esto evitará el temido NPE.

if(pd != null && pd.isShowing()) { ... }


import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; public class SandbarinFacebook extends Activity { WebView mWebView; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final ProgressDialog pd = ProgressDialog.show(this, "", "Loading...",true); mWebView = (WebView) findViewById(R.id.webkitWebView1); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setSupportZoom(true); mWebView.getSettings().setBuiltInZoomControls(true); mWebView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { if(pd!=null && pd.isShowing()) { pd.dismiss(); } } }); mWebView.loadUrl("http://www.yahoo.co.in"); setTitle("Yahoo!"); } }