【Android】ダイアログを表示する方法 ⑤日付の選択(Java編)
この記事では日付を選択するダイアログの表示方法を紹介します。時刻選択はこちら
開発環境
Android Studio | Hedgehog | 2023.1.1 |
---|---|
Android Emulator | Pixel 3a (API 34) |
minSdk | 21 |
targetSdk | 34 |
プロジェクトについて
MyDialogFragment.java ファイルがあることを前提に進めていきます。
ファイルの作成方法はダイアログを表示する方法 ① 基本型(Java編)をお読みください。
解説
1. 日付選択ダイアログを表示する
MyDialogFragment.java を開いて、8~13行目のコードを追加します。
8~11行目:デフォルトの日付を用意
最初に選択しておく日付の年月日を用意しています。ここでは現在の年月日にしています。
自由に指定できますが、month(月)は 0〜11 の数値にすることにご注意ください。
例えば 2024年1月1日の日付を選択状態にするには month は 0 になります。
// 2024年1月1日
int year = 2024;
int month = 0;
int day = 1;
13行目:ダイアログを作成
先ほど用意した年月日をセットしてダイアログを作成します。
2つ目の引数 null には、日付を選択したら呼ばれるリスナーをセットできます。このコードはこのあと書いていきます。
ここでアプリを実行すると以下のようなダイアログが表示されます。
2. 日付選択後のイベントリスナーを用意
つぎに日付を選択してOKを押すと呼ばれるイベントリスナーを追加します。
ここでは選択した日付を Toast で表示してみます。
1行目の implements 部分、13 行目の引数 this 、16~20行目のコードを追加・変更します。
17行目:onDateSet メソッド
日付を選択して OK ボタンを押すと呼ばれるメソッドです。
ここでも month(月)は 0〜11 の数値になるので month+1 として Toast 表示しています。
完成
以上で完成です。
その他のダイアログの使い方は以下の記事をお読みください。