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,将上下文作为参数。