我无法停止ProgressDialog Android
您好,我有一个Android应用程序,并在我的应用程序webview中尝试制作ProgressDilog。当网站加载时,在活动标题中,每件事情都很好,但在进度对话框中,我无法阻止它。这是我的代码:我无法停止ProgressDialog Android
mainWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress)
{
activity.setTitle("Loading...");
activity.setProgress(progress * 100);
progressDialog = ProgressDialog.show(MainActivity.this, "", "Loading...");
if(progress == 100)
{
activity.setTitle(mainWebView.getTitle());
progressDialog.dismiss();
}
}
});
但progressDialog.dismiss();不工作:(
我认为你应该做PD.show()
只有一次,不是每次onProgressChanged()
你有可能运行十几个的PD
编辑:。为了更精确:你做pd.show()
当你开始无论你做什么,在onProgressChanged()
更新一些内容(加载百分比或其他)与setProgress()
你的进度。
public void onProgressChanged(WebView view, int progress)
{
activity.setTitle("Loading...");
activity.setProgress(progress + 100);
progressDialog = ProgressDialog.show(MainActivity.this, "", "Loading...");
if(progress == 100)
{
activity.setTitle(mainWebView.getTitle());
progressDialog.dismiss();
}
}
});
看到这个简单的演示将显示ProgressDialog的每一步。
public class AsyntaskActivity extends Activity {
final Activity activity = this;
private WebView webView;
private AlertDialog alert;
private Builder builder;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
webView = (WebView)findViewById(R.id.tview);
webView.setWebViewClient(new WebViewClient(){
@Override
public void onLoadResource(WebView view, String url) {
super.onLoadResource(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
alert.setTitle("Finish Loading. . .");
alert.dismiss();
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
alert.setTitle("Start Loading. . . ");
}
});
webView.setWebChromeClient(new WebChromeClient(){});
webView.loadUrl("http://www.google.com");
builder=new AlertDialog.Builder(this);
builder.setTitle("Loading...");
alert=builder.create();
alert.show();
}
@Override protected void onDestroy() {
super.onDestroy();
}
@Override protected void onPause() {
super.onPause();
}
}
对于我这个代码解决。谢谢。我没有正确理解。 – 2016-04-08 18:03:40
@FernandoArce没问题。享受编码... :) – 2016-04-11 07:10:03
你可以选择我的答案是通过点击对勾正确的;) – FWeigl 2012-08-16 12:46:41