當我嘗試在onPreferenceChange
偵聽器中顯示ProgressDialog
(簡單,微調器類型)時,我有一個相當有趣的問題。在PreferenceActivity中顯示ProgressDialog
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;
}
}
的ProgressDialog
顯示出來,但直到該方法(sleep
在這種情況下)已經完成。我究竟做錯了什麼?
謝謝你告訴我的問題是什麼,因爲我原以爲這有什麼與PreferenceActivity有關(因爲這個問題出於某種原因在我的任何其他活動中都沒有發生過)。但是,由於我希望將來能夠調用除sleep()之外的其他方法,因此它不是一個很好的解決方案(即使它可能是最好的解決方案)。 – nip3o 2010-08-01 12:48:13