Я использую TimePickerFragment
, чтобы получить значение от времени picker.I создал прозрачную деятельность и ее код в методе onCreate()
являетсяОтмена TimePickerFragment
DialogFragment newFragment = new TimePickerFragment();
newFragment.show(getFragmentManager(), "timePicker");
newFragment.setCancelable(true);
Класса TimePickerFragment() выглядит следующим образом:
@SuppressLint("ValidFragment")
public class TimePickerFragment extends DialogFragment implements
TimePickerDialog.OnTimeSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for the picker
final Calendar c = Calendar.getInstance();
hour = c.get(Calendar.HOUR_OF_DAY);
minute = c.get(Calendar.MINUTE);
return new TimePickerDialog(getActivity(), this, hour, minute,
false);
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
hour = hourOfDay;
minute = minute;
Date date = new Date();
date.setHours(hour);
date.setMinutes(minute);
// updateTime(hour, minute);
Adapter.Time = date;
this.dismiss();
}
@Override
public void onDismiss(DialogInterface dialog) {
// TODO Auto-generated method stub
super.onDismiss(dialog);
}
@Override
public void dismiss() {
// TODO Auto-generated method stub
super.dismiss();
}
}
Проблема в том, что я сделал этот диалог Cancelable(true)
, который отлично работает. Но когда я отменяю диалог или нажимаю кнопку «Готово», он выполняет метод onTimeSet(...)
, и значения даты заполняются, которые не должны заполняться в случае отмены диалога. Итак, я хочу получить событие, когда пользователь нажимает кнопку «Готово» и только затем значения, которые нужно заполнить.
Но я не могу получить событие щелчка кнопки Готово. –
Как вы устанавливаете положительный и отрицательный регистр Готово и отмените кнопки в диалоговом окне. Пожалуйста, добавьте этот код тоже :) – SoulRayder
Check my edit .. возможно, это поможет вам. – SoulRayder