2013-02-06 16 views
6

è possibile modificare il testo progress progress?Android: Modifica avanzamento Finestra di dialogo

il mio codice:

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

vorrei cambiare test1 a test2 dopo esempio 10 secondi. Possibile?

Grazie

risposta

8

che sta lavorando bene:

runOnUiThread(changeText); 

con quel codice:

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

funziona come previsto! – Davide

+0

sono felice di aiutarti :) – jlopez

+1

Mostra sempre il riferimento dove hai copiato da http://stackoverflow.com/questions/3947080/progressdialog-does-not-want-to-update-the-message –

4

si può provare questo:

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