Hi everybody I am struggling with the idea of changing the time in time picker dialog upon when it is shown.
Here is a quotation from Android SDK reference regarding onPrepareDialog method
マネージド ダイアログが表示される前に準備する機会を提供します。デフォルトの実装では、互換性のために onPrepareDialog(int, Dialog) を呼び出します。表示されるたびにアプリケーションの状態に基づいてマネージド ダイアログを更新する必要がある場合は、これをオーバーライドします。たとえば、タイム ピッカー ダイアログを現在の時刻で更新したい場合があります。スーパークラスの実装を呼び出す必要があります。デフォルトの実装では、このアクティビティをダイアログの所有者アクティビティとして設定します
.
onCreateDialogメソッドは、作成されたダイアログをパラメーターとしてonPrepareDialogに渡しますが、このダイアログの時間と分を実際に変更するにはどうすればよいですか?
ありがとう
わかりました、私は答えを見つけました。これが PreferenceActivity からの私のコードの一部です:
protected void onPrepareDialog(int id, Dialog dialog) {
if (id == DIALOG_MAX_AGE) {
SharedPreferences myPref = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
int time = myPref.getInt(getString(R.string.pr_maxtmagekey), 15);
int h = time / 100;
int m = time - h * 100;
((TimePickerDialog)dialog).updateTime(h, m);
}
}
updateTime がそれを行います。