2013-02-06 12 views
6

progressDialogのテキストを変更することは可能ですか?Android:進行状況の変更ダイアログテキスト

私のコード:

progressDialog = ProgressDialog.show(BackupActivity.this, "In progress", "test1"); 
          new Thread() { 
           public void run() { 
            try{ 
             sleep(10000); 
              } catch (Exception e) { 
               Log.e("tag", e.getMessage()); 
              } progressDialog.dismiss(); 
           } 
          }.start(); 
         } 
        }); 
        selectExportsDialog = builder.create(); 
       } 
       selectExportsDialog.show(); 
       break;   } 

私は、例の後に10秒をTEST2するTEST1を変更したいと思います。可能?細かい作業だ

おかげ

答えて

8

:そのコードと

runOnUiThread(changeText); 

private Runnable changeText = new Runnable() { 
    @Override 
    public void run() { 
     m_ProgressDialog.setMessage(myText); 
    } 
}; 
+0

作品は予想通り! – Davide

+0

私はあなたを助けてうれしいです:) – jlopez

+1

http://stackoverflow.com/questions/3947080/progressdialog-does-not-want-to-update-the-messageからコピーした参照を常に表示してください –

4

あなたはこれを試すことができます:

private class ProgressRunner extends AsyncTask<URL, Integer, Long> 
    { 
     protected void onPreExecute() 
     { 
      try  
      { 
       dialog = new ProgressDialog(context); 
       dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
       dialog.setTitle("TITLE"); 
       dialog.setMessage("MY TEXT 1"); 
       dialog.setCancelable(false); 
       dialog.setProgress(0);    
       dialog.setIndeterminate(false); 
       dialog.show();    
      } 
      catch (Exception e) 
      {    
       e.printStackTrace(); 
       dialog.dismiss(); 
      } 
     } 


     @Override 
     protected void onCancelled() 
     { 
      super.onCancelled(); 
      dialog.dismiss();   
     } 


     @Override 
     protected Long doInBackground(URL... params) 
     { 
      // process the code here 
      dialog.setMessage("MY TEXT 2"); 
      return null; 
     } 

     protected void onProgressUpdate(Integer... progress) 
     {   
      dialog.setProgress(progress[0]); 
     }  

     protected void onPostExecute(Long result) 
     { 
      try 
      {        
       dialog.dismiss();   

      } 
      catch (Exception e) 
      {    
       e.printStackTrace(); 
       finish(); 
      }  
     } 
    } 
関連する問題