1

В моем приложении у меня есть фрагмент, в котором есть кнопка, показывающая DatePickerDialog. Я хотел бы иметь возможность изменять некоторые аспекты DatePicker (из DatePickerDialog), прежде чем вы сможете показать его пользователю (т. Е. Показывать только некоторые из полей (день, месяц, год) или ограничивать допустимые даты DatePicker).DatePicker non-null reference in DatePickerDialog

Я прочитал это возможное решение: Android DialogFragment - Get reference to date picker, но, похоже, это не правильный способ сделать это.

Прежде всего, мне нужно получить ссылку на DatePicker, прежде чем вызывать show() непосредственно в DatePickerFragment. Любые другие возможные идеи?

Вот некоторые из кода, который я до сих пор:

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() { 
    ... 
} 

ответ

0

Я в конечном итоге инстанцировании mDatePickerDialog в newInstance, имея контекст, как парам.