2010-03-24 61 views
0

這可能是一個簡單的問題,但我是初學者,我需要您的建議。 我有兩個活動A1和A2。當我點擊我有,直到出現A2屏幕顯示進度條(A2活動有巨大的任務做的)。我試過在Android中加載另一個活動時無法顯示進度條

image.setOnClickListener(new ImageView.OnClickListener() { 

      public void onClick(View v) 
      { 

      myProgressDialog = ProgressDialog.show(A1.this,  
         "Please wait...", "Loading...", true); 

       new Thread() { 
        public void run() { 
         try{ 



         Intent i = new Intent(A1.this,.A2.class); 
         startActivity(i); 


         } catch (Exception e) { } 
         // Dismiss the Dialog 
         myProgressDialog.dismiss(); 
        } 
       }.start(); 


      } 
     }); 

這不可能A1屏幕上的圖像顯示進度條。我知道我犯了一個錯誤,但我不明白

回答

2

最好的辦法是在A2活動中顯示進度對話框。一旦你開始一個活動,以前的活動進入後臺,所以進度對話框將不會顯示。

0

首先,進度對話框需要在單獨的線程上調用。使用AsyncTask <>顯示對話框,同時在後臺執行一些操作。示例代碼可能是這樣的

class hello extends AsyncTask<Void,Void,Void> 
{ 
     ProgressDialog dialog=null; 
     Intent i; 

    @Override 
    protected void onPreExecute() 
    { 


      dialog=ProgressDialog.show(A1.this,"PLEASE WAIT","LOADING CONTENTS ..",true); 
    } 

    @Override 
    protected void onPostExecute(Void result) 
    { 
      if(dialog.isShowing()) 
        { 
         dialog.dismiss(); 
         startActivity(i); 
        }   
    } 

    @Override 
    protected Void doInBackground(Void... params) 
    { 
     i = new Intent(A1.this,.A2.class); 
        return null; 
    } 
相關問題