DatePickerDialog中的DatePicker非空引用

时间:2015-10-25 13:40:19

标签: android android-fragments android-datepicker datepickerdialog

在我的应用程序中,我有一个片段,其中包含一个显示DatePickerDialog的Button。 我希望能够更改DatePicker的某些方面(来自DatePickerDialog),然后才能向用户显示(即只显示一些字段(日,月,年)或限制日期内允许的日期)的DatePicker)。

我读到了这个可能的解决方案: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() {
    ...
}

1 个答案:

答案 0 :(得分:0)

我最终在newInstance中实例化mDatePickerDialog,将Context作为参数。