2013-02-06 15 views
6

प्रगतिDialog पाठ को बदलना संभव है?एंड्रॉइड: प्रगति बदलना संवाद पाठ

मेरी कोड:

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(); 
      }  
     } 
    } 
संबंधित मुद्दे