2014-01-30 80 views
0

我有一個問題,我有一個for循環和一個ProgressDialog,並希望看到像(10/5)這樣的東西,其中10是要處理的總項目和5個元素目前正在開發中。我有這個代碼。進程對話框進入線程

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

          for(int i=0; i<adapter.getTotalItems().size(); i++) { 
           try { 
            index = i; 
            progressDialog = ProgressDialog.show(MyClass.this,adapter.getTotalItems().size()+"/"+index,); 
            MyClass.this.runOnUiThread(new Runnable() { 
             public void run() { 
              progressDialog.cancel(); 
             } 
            }); 



           } catch (IOException e) { 
            // TODO Auto-generated catch block 

            e.printStackTrace(); 
           } 
           catch (NameNotFoundException e) { 
            // TODO Auto-generated catch block 

            e.printStackTrace(); 
           } 
           try { 
            Thread.sleep(1*2000); 
           } catch (InterruptedException e) { 
            // TODO Auto-generated catch block 

            e.printStackTrace(); 
           } 
          } 

          MyClass.this.runOnUiThread(new Runnable() { 
           public void run() { 
            progressDialog.dismiss(); 

          } 
         }); 

        } 
      }).start(); 
+2

是什麼問題? – Raghunandan

+0

曾經處理了進度對話框的所有元素。相反,你應該解僱 – user3187166

+0

不要使用線程。尋找'AsyncTask'或者可能只是一個'CountDownTimer'。 – zapl

回答

1

鴕鳥政策CANCLE的ProgressDialog每一次,只是改變之類的標題:

mProgressDialog.setTile(adapter.getTotalItems().size()+"/"+index); 

That's它。