2012-04-25 67 views
0

我有一個thrad調用一個函數來填充活動中的列表,我會在函數運行時放置一個progressDialog,我不知道我在做什麼來更改進度對話框被稱爲,如下當前代碼:在線程中插入progressDialog

new Thread(){    
     public void run() { 

       runOnUiThread(new Runnable() {  
        @Override 
        public void run() { 
         loadList(); 
        } 
       }); 
      } 
     }.start(); 
+0

請注意,使用此代碼示例實際上是在UI線程上發生列表加載。因此,這段代碼什麼都不做,因爲只要線程啓動(可能來自UI線程),執行就會直接回傳給UI線程。 相反,您應該在新創建的線程上加載相關數據,然後在UI線程上更新視圖*。 – user634618 2012-04-25 23:38:57

回答

1

我認爲你會更好使用AsyncTask,很容易附加進度對話框到這個。

下面是一個例子:http://droidapp.co.uk/?p=177

+0

+1:爲後臺作業使用Asynctask,因爲您可以使用onPreExecute(),onPostExecute()和onProgressUpdate()回調來更新UI線程上的UI。 – Devunwired 2012-04-25 21:19:09

+0

例如,我可以讓progressdialog在屏幕上停留3秒鐘? – user1265628 2012-04-26 03:07:54

0

創建並啓動你的進步在UI線程對話框,然後啓動主題。創建一個消散()你的進度的Runnable對象。在完成使用runOnUiThread填充列表時調用此Runnable。