У меня есть одна кнопка для установки будильника. Я могу сохранить будильник и время для этой кнопки, но теперь я хочу добавить еще одну кнопку, где я могу установить другую дату и время. Я не знаю, как проверить, какая кнопка была нажата, и поэтому сохранить дату для этой кнопки. Вот что я сделал с помощью кнопки тревоги: Я создал два класса DatePickerFragment. java
public class DatePickerFragment extends DialogFragment{
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
// Use the current date as the default date in the picker
Calendar c = Calendar.getInstance();
int jahr = c.get(Calendar.YEAR);
int monat = c.get(Calendar.MONTH);
int tag = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), (DatePickerDialog.OnDateSetListener) getActivity(), jahr, monat, tag);
}
}
и TimePickerFragmentDialog. java
public class TimePickerFragment extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
return new TimePickerDialog(getActivity(), (TimePickerDialog.OnTimeSetListener) getActivity(), hour, minute, DateFormat.is24HourFormat(getActivity()));
}
}
В моей деятельности. java У меня есть этот код
private StringBuilder ausgewaelteDatum;
AlarmButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DialogFragment datePicker = new DatePickerFragment();
datePicker.show(getSupportFragmentManager(), "date picker");
}
});
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month);
c.set(Calendar.DAY_OF_MONTH, dayOfMonth);
ausgewaelteDatum = new StringBuilder(DateFormat.getDateInstance(DateFormat.MEDIUM).format((c.getTime())));
DialogFragment timePicker = new TimePickerFragment();
timePicker.show(getSupportFragmentManager(), "time picker");
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
ausgewaelteDatum.append(", " + hourOfDay + ":" + minute);
AlarmButton.setText(ausgewaelteDatum.toString());
}
Сейчас Я добавил этот код для второй кнопки, но я не знаю, как продолжить. Возможно, я мог бы передать нажатую кнопку при создании нового фрагмента, но я не знаю, возможно ли это
DatumButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DialogFragment datePicker = new DatePickerFragment();
datePicker.show(getSupportFragmentManager(), "date picker");
}
});