У меня есть вопрос. Я создал DatePickerDialog в Android Studio, но когда отображается Datepickerdialog, и я хочу добавить дату, это не работает. Я хотел бы видеть DialogPicker, когда я нажимаю кнопку и таким образом меняю дату, но в текстовом представлении ничего не появляется. Мой код здесь. Также было бы неплохо, если бы кто-нибудь сказал мне, как сделать дату в следующем порядке: месяц, день, год
Fragmentclass:
publi c Класс Fragment extends Fragment Implements DatePickerDialog.OnDateSetListener {
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
calendar = Calendar.getInstance();
Button button = (Button) getView().findViewById(R.id.change);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DialogFragment datepicker = new DatePickerFragment();
datepicker.show(getFragmentManager(), "date picker");
}
});
}
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month);
c.set(Calendar.DAY_OF_MONTH, dayOfMonth);
String currentime = DateFormat.getDateInstance(DateFormat.FULL).format(calendar.getTime());
TextView textView = getView().findViewById(R.id.date);
textView.setText(currentime);
}
}
Класс DatePicker: publi c Класс DatePickerFragment расширяет DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
return new DatePickerDialog(getActivity(),(DatePickerDialog.OnDateSetListener) getTargetFragment(),
year, month, day);
}
}