В моем коде у меня есть средство выбора даты и времени .... но по какой-то причине код не ждет, пока я ничего не выберу, и как только появится диалоговое окно mDateSetListener, Log.d отобразится в сегодняшней дате Logcat.
также в первый раз, когда отображается диалоговое окно, он не показывает mTimeSetListener, и мне нужно запросить его во второй раз, чтобы он работал должным образом
вот мой код
static void dateAndTimePicker(final Context context, final ListView selectedFood, final int type) {
contextGlobal = context;
dateTime = new int[5];
cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog = new DatePickerDialog(contextGlobal,
android.R.style.Theme_Holo_Light_Dialog_MinWidth, mDateSetListener, year, month, day);
Objects.requireNonNull(dialog.getWindow()).setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.show();
mDateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
month = month + 1; /*january is 0 (months start with 0 not 1)*/
Log.d("date is", month + "/" + day + "/" + year);
dateTime[0] = year;
dateTime[1] = month;
dateTime[2] = day;
hour = cal.get(Calendar.HOUR_OF_DAY);
minute = cal.get(Calendar.MINUTE);
TimePickerDialog timePickerDialog = new TimePickerDialog(contextGlobal,
android.R.style.Theme_Holo_Light_Dialog_MinWidth, mTimeSetListener, hour, minute, false);
timePickerDialog.show();
}
};
mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int hour, int minute) {
Log.d("Time is", hour + ":" + minute);
dateTime[3] = hour;
dateTime[4] = minute;
addFood(contextGlobal, dateTime, selectedFood, type);
}
};
Log.d("date", String.valueOf(day));
}
заранее спасибо