我试图在按下“中性”按钮时DatePickerDialog
打开一个TimePickerDialog
按钮,但是,似乎我在尝试寻找答案时陷入了死胡同。
OnClick
听众,但是然后我该如何获取日期呢?onDateSet
in datePickerDialog
,如何检查是否按下了“中性”按钮?任何帮助将不胜感激。
public class DatePickerDialogFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener{
int position;
@SuppressLint("ValidFragment")
public DatePickerDialogFragment(int position) {
this.position = position;
}
public DatePickerDialogFragment() {
this(-1);
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), this, year, month, day);
datePickerDialog.setCanceledOnTouchOutside(false);
datePickerDialog.setButton(DialogInterface.BUTTON_NEUTRAL, "Set Time", //What do I do here?);
return new DatePickerDialog(getActivity(), this, year, month, day);
}
@Override
public void onCancel(DialogInterface dialog) {
if (position != -1)
new RecyclerAdapter(getActivity()).notifyItemChanged(position);
}
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Log.d("We have liftoff!", "DPD Listener called!");
Log.d("onDateSet method", "Date set for: "+ dayOfMonth + "/" + monthOfYear + "/" + year);
if (position == -1) {
((MainActivity) getActivity()).setAlarm(year, monthOfYear, dayOfMonth);
// Call method from other activity
}
else {
((MainActivity)getActivity()).setAlarm(position, year, monthOfYear, dayOfMonth);
}
}
}
好吧,我之前应该已经想到了这一点,但是我所做的只是使用datePickerDialog.getDatePicker.getWhatever
来从DatePicker获取我的值,然后将其传递。我正式是个白痴。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句