Programming Style

メニュー

初心者がアプリ開発者になるためのプログラミング学習サイト

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

android-calendarview-01

日付ピッカーを表示させるためには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>

アプリを実行すると以下のように日付ピッカーが画面に表示されます。

 

android-calendarview-02

 

 

 

 

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

 

広 告

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です