【问题标题】:DatePicker non-null reference in DatePickerDialogDatePickerDialog 中的 DatePicker 非空引用
【发布时间】:2015-10-25 13:40:18
【问题描述】:

在我的应用程序中,我有一个片段,其中包含一个显示 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() {
    ...
}

【问题讨论】:

    标签: android android-fragments android-datepicker datepickerdialog


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多