Я использую Calendar
, и я могу установить дату и дату для будущего. Предположим, что у меня есть один DatePickerDialog
, который устанавливает дату, например 15-09-2016 и у меня есть один TimePickerDialog
, который устанавливает час, например: 22:30Изменение даты смены времени на Android на сегодняшний день
Моя проблема, когда я использую DatePickerDialog
и установить дату: 15-09-2016 все в порядке. Но, затем я использую TimePickerDialog
и пытаюсь изменить время, Calendar's
дата на сегодня (27-07-2016).
Но если я использую TimePickerDialog
во-первых, а затем использовать DatePickerDialog
нет никакой проблемы, и я могу установить дату: 15-09-2016 22: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. Удалили все из них, и я запускаю «Календарь» только один раз. Ваш ответ помог мне, я постоянно работаю, как 3 дня (сон, еда, цикл кода), может быть, я должен немного отдохнуть. Благодарю. –
Хорошо. Ваша проблема решена? –