最近,我在Android Webview应用程序中添加了以下进度对话框。它可以完美工作,但是现在我想在一定时间内显示对话框,在本示例中,直到页面加载89%为止。
final Activity activity = this;
final ProgressDialog progressDialog = new ProgressDialog(activity);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setCancelable(false);
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
progressDialog.show();
progressDialog.setProgress(0);
activity.setProgress(progress * 1000);
progressDialog.incrementProgressBy(progress);
if(progress == 100 && progressDialog.isShowing())
progressDialog.dismiss();
}
});
我试图通过将代码的最后一部分更改为此来实现这一点:
if(progress == 89 && progressDialog.isShowing())
progressDialog.dismiss();
问题在于,当对话框达到我所希望的达到89%时,它便消失了,但随后重新启动并加载到100%,而之后没有消失。
我在这里想念什么?
我没有运行您的代码,但是,这是我期望的:
public void onProgressChanged(WebView view,int progress){
在加载了89%之后也称为。
要使用它,您可以先更改:
如果(进度== 89
到:
如果(进度> = 89
并且应该可以正常工作,但是它不会很优雅,因为从一开始您的代码就不是很优雅(在每次进度更改中,您都需要在进度条上显示。要使其正确显示,请只显示一次,而不要在onProgressChanged方法中显示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句