私はCalendar
を使用していますが、将来の日付と日付を取得することができます。 22:30Androidのカレンダーを今日に変更する時刻を変更する
私はDatePickerDialog
とセット日付を使用する場合私の問題がある:私は例15-09-2016の日付を設定し、1 DatePickerDialog
を持っていると私は例えば時間を設定し、1 TimePickerDialog
を持っていると仮定します。 15-09-2016これは問題ありません。しかし、TimePickerDialog
を使用して時刻を変更しようとすると、Calendar's
の日付が今日(27-07-2016)に変更されています。
しかし、私はまず、その後DatePickerDialog
を使用TimePickerDialog
を使用する場合はそこには問題はありません、私は日付を設定することができる午前:15-09-2016午後10時30
作成するときに、私はGoogleとstackoverflowのを確認し、提案の質問を見てこの質問は何も見ませんでした。
マイDatePickerDialog
:
DatePickerDialog datePickerDialog=
new DatePickerDialog(thisActivity, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
mCalendarAlarm.set(Calendar.YEAR, year);
mCalendarAlarm.set(Calendar.MONTH, monthOfYear);
mCalendarAlarm.set(Calendar.DAY_OF_MONTH, dayOfMonth);
SimpleDateFormat dateformat = new SimpleDateFormat("dd MMM yyyy kk:mm",Locale.getDefault());
String datetime = dateformat.format(mCalendarAlarm.getTime());
alarmDate.setText(datetime);
}}, mCalendarAlarm.get(Calendar.YEAR), mCalendarAlarm.get(Calendar.MONTH),
mCalendarAlarm.get(Calendar.DAY_OF_MONTH));
datePickerDialog.getDatePicker().setMinDate(mCalendarAlarm.getTimeInMillis());
datePickerDialog.show();
マイTimePickerDialog
:
TimePickerDialog mTimePicker;
int hour = mCalendarAlarm.get(Calendar.HOUR_OF_DAY);
int minute = mCalendarAlarm.get(Calendar.MINUTE);
mTimePicker = new TimePickerDialog(thisActivity,mPickerTheme, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
mCalendarAlarm.set(Calendar.HOUR_OF_DAY,selectedHour);
mCalendarAlarm.set(Calendar.MINUTE,selectedMinute);
alarmDialogTime.setText(String.format(Locale.getDefault(),"%02d:%02d", selectedHour, selectedMinute));
}}, hour, minute, true);
mTimePicker.show();
Calendar
を宣言する場合:
mCalendarAlarm = Calendar.getInstance();
mCalendarAlarm.setTimeZone(TimeZone.getDefault());
を、どのように私はこの問題を解決することができ、道や君たちがあります以前この問題に会う。手伝ってくれてありがとう !
私は不要な 'mCalendarAlarm = Calendar.getInstance();'を削除することで問題を解決しました。私は複数の 'mCalendarAlarm = Calendar.getInstance();' initを持っていました。それらをすべて削除して、 'Calendar'を1回だけ初期化します。あなたの答えは私が3日間(睡眠、食べ、コードループ)のように継続的に働いていることを助けてくれたかもしれない。ありがとう。 –
あなたの問題は解決されていますか? –