当我尝试在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