2013-02-06 15 views
6

progressDialog metnini değiştirmek mümkün mü?Android: İlerleme Diyaloğu metnini değiştirme

kodum:

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;   } 

Ben örnek sonra 10 saniye test2 için test1 değiştirmek istiyorum. Mümkün? düzgün şekilde çalışıyorsa

Teşekkür

cevap

8

: o kodla

runOnUiThread(changeText); 

:

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

beklendiği gibi çalışır! – Davide

+0

Size yardımcı olmaktan memnuniyet duyuyorum :) – jlopez

+1

Her zaman http://stackoverflow.com/questions/3947080/progressdialog-does-not-want-to-update-the-message adresinden kopyaladığınız referansı gösterin. –

4

Bu deneyebilirsiniz:

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(); 
      }  
     } 
    }