所以我已经有一段时间了,我似乎无法弄清楚。我是 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。但这就是我迷路的地方。
部分原因是因为我不确定新的 DatePickerDialog在哪里 onCreateDialog()
返回。如果你看我说的代码没有意义,两者mDateDetailFragment
都getSupportFragmentManager()
没有实例化或出现在其他任何地方,所以我无法让教程代码工作。Android Doc 还提到,showDialog()
我应该同时使用DialogFragment
and而不是使用FragmentManager
,这里也没有这样做。只有 DialogFragment。
所以就像标题一样,我如何才能以非弃用形式制作 DatPicker?我会要求不要将我发送到链接,只是说看看这里。我已经做到了。相信我。如果不是,至少解释一下我错过了什么才有意义。此外,如果有人能真正告诉我该onCreateDialog()
方法将 发送到哪里DatePickerDialog
,那也将非常有帮助。我只是想弄明白这一切,而不是复制和粘贴代码(无论如何它都不起作用)。非常感谢您抽出时间阅读本文,如果需要任何澄清,请询问。