J'ai un problème assez intéressant lorsque j'essaie d'afficher un ProgressDialog
(type simple, type spinner) dans un écouteur onPreferenceChange
.Affichage de ProgressDialog dans une PreferenceActivity
public class SettingsActivity extends PreferenceActivity {
private ProgressDialog dialog;
public void onCreate(Bundle savedInstanceState) {
ListPreference pref= (ListPreference) findPreference("myPreference");
pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
dialog = ProgressDialog.show(SettingsActivity.this, "", "Doing stuff...", true);
SystemClock.sleep(2000);
}
return true;
}
}
Le ProgressDialog
montre, mais pas tant que la méthode (sleep
dans ce cas) est terminé. Qu'est-ce que je fais mal?
Merci de me dire quel était le problème, puisque je plutôt pensé qu'il avait quelque chose faire avec le PreferenceActivity (puisque ce problème pour une raison quelconque ne s'est pas produit dans aucune autre de mes activités). Cependant, étant donné que je souhaiterais pouvoir appeler d'autres méthodes que sleep() à l'avenir, ce ne serait pas une très bonne solution (même si cela aurait probablement été la meilleure solution dans le cas contraire). – nip3o