我无法停止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()你的进度。

+0

你可以选择我的答案是通过点击对勾正确的;) – FWeigl 2012-08-16 12:46:41

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(); 
} 

}

+0

对于我这个代码解决。谢谢。我没有正确理解。 – 2016-04-08 18:03:40

+0

@FernandoArce没问题。享受编码... :) – 2016-04-11 07:10:03