2010-10-16 20 views
31

J'ai juste essayé d'implémenter un progressdialog et j'ai quelques problèmes pour changer le texte pendant mes calculs longs et complexes.ProgressDialog ne veut pas mettre à jour le message

for (String aString:myStringArray){ 
    Log.v(TAG, aString); 
    mProgressDialog.incrementProgressBy(1); 
    mProgressDialog.setMessage(aString); 
} 

Je peux voir clairement le travail incrementProgressBy et ma mise à jour de boîte de dialogue, mais le message ne change pas.

Une idée sur la façon de faire ce travail?

Merci beaucoup.

Répondre

52

Je viens de trouver la réponse, qui fonctionne très bien:

runOnUiThread(changeMessage); 

avec ce code:

private Runnable changeMessage = new Runnable() { 
    @Override 
    public void run() { 
     //Log.v(TAG, strCharacters); 
     m_ProgressDialog.setMessage(strCharacters); 
    } 
}; 
+1

cela ne fonctionne pas. j'essaye de mettre à jour le message du fil d'interface utilisateur mais il ne change pas. – datayeah

+0

@Waza_Be Cela ne fonctionne pas. S'il vous plaît Aide ... –

+5

Oui, c'est si facile d'aider avec "cela ne fonctionne pas" comme message :-p –