DatePickerDialog 中的 DatePicker 非空引用
DatePicker non-null reference in DatePickerDialog
在我的应用程序中,我有一个包含显示 DatePickerDialog 的按钮的片段。
我希望能够更改 DatePicker(来自 DatePickerDialog)的某些方面,然后才能将其显示给用户(即仅显示某些字段(日、月、年)或限制内部允许的日期日期选择器).
我阅读了这个可能的解决方案:Android DialogFragment - Get reference to date picker,但对我来说这似乎不是正确的方法。
基本上,在对 DatePickerFragment 本身调用 show() 之前,我需要获取 DatePicker 的引用。
还有其他可能的想法吗?
这是我目前的一些代码:
public static GenericDatePickerDialog newInstance(int year, int month,
int day) {
GenericDatePickerDialog frag = new GenericDatePickerDialog();
Bundle args = new Bundle();
args.putInt(KEY_YEAR, year);
args.putInt(KEY_MONTH, month);
args.putInt(KEY_DAY, day);
frag.setArguments(args);
return frag;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Bundle args = getArguments();
mYear = args.getInt(KEY_YEAR);
mMonth = args.getInt(KEY_MONTH);
mDay = args.getInt(KEY_DAY);
mDatePickerDialog = new DatePickerDialog(getActivity(),
mCallback,
mYear, mMonth, mDay);
return mDatePickerDialog;
}
public void setRestrictionOnDate(boolean restrictMax, long time) {
...
}
public void hideDpFields() {
...
}
我最终在 newInstance 中实例化了 mDatePickerDialog,将上下文作为参数。
在我的应用程序中,我有一个包含显示 DatePickerDialog 的按钮的片段。 我希望能够更改 DatePicker(来自 DatePickerDialog)的某些方面,然后才能将其显示给用户(即仅显示某些字段(日、月、年)或限制内部允许的日期日期选择器).
我阅读了这个可能的解决方案:Android DialogFragment - Get reference to date picker,但对我来说这似乎不是正确的方法。
基本上,在对 DatePickerFragment 本身调用 show() 之前,我需要获取 DatePicker 的引用。 还有其他可能的想法吗?
这是我目前的一些代码:
public static GenericDatePickerDialog newInstance(int year, int month, int day) { GenericDatePickerDialog frag = new GenericDatePickerDialog(); Bundle args = new Bundle(); args.putInt(KEY_YEAR, year); args.putInt(KEY_MONTH, month); args.putInt(KEY_DAY, day); frag.setArguments(args); return frag; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Bundle args = getArguments(); mYear = args.getInt(KEY_YEAR); mMonth = args.getInt(KEY_MONTH); mDay = args.getInt(KEY_DAY); mDatePickerDialog = new DatePickerDialog(getActivity(), mCallback, mYear, mMonth, mDay); return mDatePickerDialog; } public void setRestrictionOnDate(boolean restrictMax, long time) { ... } public void hideDpFields() { ... }
我最终在 newInstance 中实例化了 mDatePickerDialog,将上下文作为参数。