ですから、私はしばらくこれに取り組んでいます、そして私はそれを理解することができないようです。私は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()
ます。DialogFragmentを使用するという明らかな例外を除いて、を実装DatePickerDialog.onDateSetListener
し、新しいを返します。DatePickerDialog
しかし、それは私が迷子になったところです。
その理由の一部は、新しいDatePickerDialogがどこに 返されるのかよくわからないためです。onCreateDialog()
私が言ったコードを見ると、どちらも意味mDateDetailFragment
がgetSupportFragmentManager()
なく、インスタンス化されたり、他の場所に表示されたりすることはなかったため、チュートリアルコードを機能させることさえできません。Android Docには、使用する代わりにとのshowDialog()
両方を使用する必要があるとDialogFragment
記載されてFragmentManager
いますが、これもここでは実行されません。DialogFragmentのみ。
それで、タイトルのように、どのように私は非実用的な形でDatPickerを作ることができますか?リンクに私を送らないで、ここを見てと言ってください。私はそれをしました。私を信じてください。そうでない場合は、少なくとも私が見逃したことを説明してください。これは理にかなっています。onCreateDialog()
また、メソッドがどこに送信するかを誰かが実際に教えてくれる場合はDatePickerDialog
、それも非常に役立ちます。コードをコピーして貼り付けるのではなく、これらすべてを理解しようとしています(とにかく機能するわけではありません)。これを読むために時間を割いてくれてありがとう、そして何か説明が必要な場合は、尋ねてください。