2012-04-25 5 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

答えて

1

私はあなたがAsyncTaskを使用する方が良いと思っています。進捗ダイアログを簡単に貼り付けることができます。

はここに例を示しますhttp://droidapp.co.uk/?p=177

+0

+1:onPreExecute()、onPostExecute()およびonProgressUpdate()コールバックを使用してUIスレッドでUIを更新できるため、バックグラウンドジョブにAsynctaskを使用します。 – Devunwired

+0

プログレスダイアログを3秒間画面に表示させることができますか? – user1265628

0

はあなたのスレッドを開始し、その後、UIスレッドでのあなたの進行状況ダイアログを作成して開始します。進捗状況を解消するRunnableオブジェクトを作成します。 runOnUiThreadでリストを作成し終えたら、このRunnableを呼び出します。

関連する問題