Появилась необходимость в текстовое окно установить дату. метод showDialog(DIALOG_DATE) уже устарел. Предлагается использовать DialogFragment.
Ну создал на основе ДиалогФрагмента. А как же мне передать данные в активити?
пробую getActivity , нахожу текстовое поле , но метода setText не нахожу.
Как передать в диалог помню:
DatePickerFragment.setArguments(bundle);
DatePickerFragment.show(getSupportFragmentManager(), "Fragment");
.
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
final Calendar calendar1 = Calendar.getInstance(); // Дата для установки нижнего порога в TimePiker
calendar1.set(1999, 0, 1); // http://fixer.io/ хранит курсы валют начиная с 1999 года
DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), this, year, month, day);
DatePicker dp = datePickerDialog.getDatePicker();
dp.setMinDate(calendar1.getTimeInMillis()); // ставим нижний диапазон в DatePiker
dp.setMaxDate(System.currentTimeMillis()); // верхний диапазон в DatePiker устанавливаем сегодняшним днем
return datePickerDialog;
}
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, day);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = sdf.format(calendar.getTime());
}
}
Можно создать в активити public метод и передавать туда.
((YourActivity)getActivity()).sendData(dateBegin,duration,durationPeriod);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей