[Android] DatePicker:日付ピッカーを表示する

日付ピッカーを表示させるためにはDatePickerクラスか<DatePicker>
タグを使います。ここでは日付ピッカーを表示する方法について説明します。
広 告
目次
前提条件
動作確認端末
- Google Nexus 7 – 5.1.1 – API22(実機)
1. DatePickerの概要
日付ピッカーを表示させるためにはDatePickerクラスか、<DatePicker>
タグを使います。
日付ピッカーとは、日付入力用のコントローラーです。
2. 日付ピッカーを表示する
レイアウトXMLを使って日付ピッカーを表示させるためには、<DatePicker>
タグを使用します。
以下が実装例になります。
res/layout/activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <DatePicker android:id="@+id/datePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" /> </RelativeLayout>
アプリを実行すると以下のように日付ピッカーが画面に表示されます。

3. 日付の選択イベントリスナーを設定する
日付ピッカーの日付が選択された時のイベントリスナーを設定するためには、DatePicker#init()メソッドにDatePicker.OnDateChangedListenerインスタンスを渡します。
以下に実装例を示します。
MainActivity.java
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.widget.DatePicker; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker); datePicker.init(2015, 12, 14, new DatePicker.OnDateChangedListener() { @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // 日付を選択した時に実行される } }); } }
DatePicker#init()の第1引数、第2引数、第3引数には、それぞれ初期選択している年、月、日を設定します。
第4引数にはDatePicker.OnDateChangedListenerインスタンスをイベントリスナーとして設定します。日付ピッカーの日付が選択されるとonDateChanged()メソッドが実行され、選択された年、月、日の値が渡されてきます。
4. 参考URL
DatePicker | Android Developers
http://developer.android.com/intl/ja/reference/android/widget/DatePicker.html
DatePicker.OnDateChangedListener | Android Developers
http://developer.android.com/intl/ja/reference/android/widget/DatePicker.OnDateChangedListener.html