2017-10-29 3 views
0

をonPageFinished、私のMainActivityに基づいて、WebViewの中プログレスバーを表示するonPageFinished?私は現在、Androidのメーカーは2.3.3プログレスバーはonPageStartedとonPageStartedを使用する方法

MainActivity

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

 
     WebView wv = (WebView) findViewById(R.id.webview1); 
 
     wv.loadUrl("https://www.google.com); 
 
     wv.setWebViewClient(new WebViewClient()); 
 

 
     WebSettings ws = wv.getSettings(); 
 
     ws.setJavaScriptEnabled(true); 
 
     ws.setSupportZoom(false); 
 

 
       }

答えて

0

はこの試みる使用:...

ProgressBar progressBar; 

progressBar = (ProgressBar) findViewById(R.id.progressbar); 
progressBar.setMax(100); 
progressBar.setProgress(1); 

webView.setWebChromeClient(new WebChromeClient() { 
     public void onProgressChanged(WebView view, int progress) { 
      progressBar.setProgress(progress); 
     } 
    }); 
     webView.setWebViewClient(new WebViewClient() { 

     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
      super.onPageStarted(view, url, favicon); 
      progressBar.setVisibility(View.VISIBLE); 


     } 



     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 

      progressBar.setVisibility(View.GONE); 
     } 
    }); 
+0

IはonPageStartedとonPageFinishedを加えました。ログにエラーは表示されませんが、アプリ(Smartphone)ではWebViewでURLを開く前に進行状況バーが表示されません。あなたのレイアウトのコード – Ever

+0

に沿って、progressbar add:android:visibility = "visible" /> – lolloCreator

0

MainActivity

public class MainActivity extends AppCompatActivity { 

WebView wv; 
ProgressBar progressBar; 

@Override 
public void onBackPressed() { 
    wv = (WebView) findViewById(R.id.webview1); 
    if (wv.canGoBack()) { 
     wv.goBack(); 
    } else { 
     new AlertDialog.Builder(this) 
       .setIcon(android.R.drawable.ic_dialog_alert) 
       .setTitle("Sair") 
       .setMessage("Você deseja sair do aplicativo?") 
       .setPositiveButton("Sim", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         finish(); 
        } 

       }) 
       .setNegativeButton("Não", null) 
       .show(); 
    } 
} 


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

    wv = (WebView) findViewById(R.id.webview1); 
    progressBar = (ProgressBar) findViewById(R.id.progressBar2); 

    wv.setWebViewClient(new WebClient()); 
    wv.getSettings().setJavaScriptEnabled(true); 
    wv.getSettings().setSupportZoom(false); 
    wv.loadUrl("https://www.google.com"); 
} 


public class WebClient extends WebViewClient { 
    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon) { 
     super.onPageStarted(view, url, favicon); 
     progressBar.setVisibility(View.VISIBLE); 
    } 


    @Override 
    public void onPageFinished(WebView view, String url) { 
     super.onPageFinished(view, url); 
     progressBar.setVisibility(View.GONE); 
    } 


} 

}

関連する問題