2012-02-07 33 views
5

'da HTML sayfası yüklenirken bir ilerleme iletişim kutusu nasıl görüntülenir? Html sayfalarını görüntülemek için web görünümünü kullanıyorum ve sayfa yüklenene kadar bir ilerleme iletişim kutusu göstermek istiyorum. Bu yapıldığında, diyalog kaybolacaktır. Bunun için AsyncTask'ı kullandım, ancak iletişim kutusu görünmüyor. Aşağıdaki kodumu bakınız:Web sayfası

class DownloadAysnc extends AsyncTask<String, String, Void> 
    { 
    ProgressDialog progressDialog; 
     @Override 
      protected void onPreExecute() { 
      super.onPreExecute(); 
      progressDialog = ProgressDialog.show(OverView.this, "", "Please Wait ..."); 
     } 

     @Override 
      protected Void doInBackground(String... arg0) { 
      webView.loadUrl("http://marico.com/html/investor/overview.php"); 
     return null; 
     } 

     @Override 
      protected void onPostExecute(Void result){ 
      super.onPostExecute(result); 
      progressDialog.dismiss(); 
     } 
    } 

Ve web sayfasını göstermek için google docs yardımını almak, o zaman HTML Etiketi sayfasını gösterilen ancak değildir. Aşağıda bu kod şu şekildedir: birisi bana bu konuda yardımcı olabilir mi?

cevap

13

kullanın bu kod:

webView.setWebViewClient(new WebViewClient() { 
    ProgressDialog prDialog; 
    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon) { 
     prDialog = ProgressDialog.show(Activity.this, null, "loading, please wait..."); 
     super.onPageStarted(view, url, favicon); 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     prDialog.dismiss(); 
     super.onPageFinished(view, url); 
    } 
}); 

webView.loadUrl(url); 
+0

I (WebView görünümü, dize url ** Bitmap favicon **) Bu ** Bitmap favicon ** çizgi de bana Derleme zamanı hatası veriyor koymak gerektiğini. Ne koymalıyım? –

+0

Çok teşekkürler Teşekkürler! –

+0

teşekkürler alot man ... Beni kurtardı – Noman

1

Sen kod aşağıdaki deneyebilirsiniz,

progDailog = ProgressDialog.show(loginAct,"Process ", "please wait....",true,true); 

new Thread (new Runnable() 
{ 
    public void run() 
    { 
     // your code goes here 
    } 
}).start(); 

Handler progressHandler = new Handler() 
{ 

    public void handleMessage(Message msg1) 
    { 
     progDailog.dismiss(); 
    } 
} 
2

Sen WebView'da Başlığı Bar'da WebView arasında Progress gösterebilir. Here, WebView'un Title Çubuğunda ProgressStatus göstergesinin aynısı için tam bir örnektir.

3
v.setWebChromeClient(new WebChromeClient(){ 
     @Override 
     public void onProgressChanged(WebView view, int newProgress) { 
      WebView v=(WebView)findViewById(R.id.wv); 
      //Toast.makeText(mContext, v.getUrl() + newProgress +"uploading...", Toast.LENGTH_SHORT).show(); 
      ProgressBar s=(ProgressBar)findViewById(R.id.progressBar1); 
      s.setMax(100); 
      s.setProgress(newProgress); 
      if(newProgress==100){       
       v.setVisibility(0); 
       //Toast.makeText(mContext, "upload finished...", Toast.LENGTH_SHORT).show(); 
     }else{ 
       v.setVisibility(8); 
       //Toast.makeText(mContext, "uploading...", Toast.LENGTH_SHORT).show(); 
      } 
     } 
    }); 
+1

Yığın Taşması'na Hoş Geldiniz. Lütfen daha fazla cevabını hazırlar mısın? –

+1

Özellikle, zaten kabul edilmiş ve cevapları kesilmiş olan eski bir soruya cevap verdiğinizde, bazı açıklamalarda bulunun. Cevabınız, daha önce kabul edilen cevaptan farklı ve daha iyi nasıl? –