Итак, я был в этом какое-то время, и я не могу понять это. Я новичок в разработке Android, так что поддержите меня, пожалуйста. Я не был слишком знаком с созданием Datepicker, и я научился делать это устаревшим способом, просто чтобы освоиться. Использовал этот учебник, чтобы ускорить меня:
http://developer.android.com/resources/tutorials/views/hello-datepicker.html
Но теперь мне нужно изменить его, в основном, чтобы не использовать устаревший код, поэтому я осмотрелся и нашел 2 учебника, в основном этот:
http://www.kylebeal.com/2011/11/android-datepickerdialog-and-the-dialogfragment/
Проблема в том, что есть код, который не имеет смысла. В основном эта часть:
//create new DateDialogFragment
DateDialogFragment ddf = DateDialogFragment.newInstance(this, R.string.set_date, date);
ddf.setDateDialogFragmentListener(new DateDialogFragmentListener() {
@Override
public void dateDialogFragmentDateSet(Calendar date) {
// update the fragment
mDateDetailFragment.updateDate(date);
}
});
ddf.show(getSupportFragmentManager(), "date picker dialog fragment");
Предполагается, что это то, что выполняется в классе активности, в котором он работает. Так что я как бы понимаю, что происходит в остальной части кода, и не стесняюсь смотреть на остальную часть, поскольку это, вероятно, поможет. Код, по сути, следует почти тому же маршруту, что и исходный код showDialog(). Реализация DatePickerDialog.onDateSetListener и возврат нового DatePickerDialog с очевидным исключением, заключающимся в использовании DialogFragment. Но тут я заблудился.
Частично причина в том, что я не совсем уверен, где onCreateDialog() возвращает этот новый DatePickerDialog. Если вы посмотрите на код, который я сказал, он не имеет смысла, и mDateDetailFragment, и getSupportFragmentManager() никогда не создавались и не появлялись где-либо еще, поэтому я не могу заставить код учебника работать. В Android Doc также упоминается, что вместо использования showDialog() я должен использовать как DialogFragment, так и FragmentManager, чего здесь также не делается. Только диалоговый фрагмент.
Итак, как и в заголовке, как именно я могу сделать DatPicker в неустаревшей форме? Я хотел бы попросить НЕ присылать мне ссылку и просто сказать, посмотрите здесь. Я сделал это. Поверьте мне. Если нет, то хотя бы объясните, что я пропустил, что имеет смысл. Кроме того, если бы кто-нибудь действительно мог сказать мне, куда метод onCreateDialog() отправляет DatePickerDialog, это также было бы чрезвычайно полезно. Я просто пытаюсь разобраться во всем этом, а не копировать и вставлять код (не то, чтобы он все равно работал). Большое спасибо, что нашли время, чтобы прочитать это, и если нужны какие-либо разъяснения, пожалуйста, спрашивайте.