Goodroid

GoodroidはAndroidアプリ開発のための情報をコラムやブログで紹介するサイトです。


ダイアログで日付を選択する
ここではダイアログボックスから日付を選択する方法を確認していきます。

日付選択ダイアログを表示するには「DatePickerDialog」クラスを使用します。サンプルコードでは、「onDateSet」関数で初期表示日付を設定し、日付けを選択してSetした値を「setText」関数でテキストに設定しています。そして、「setTitle」関数を使ってダイアログのタイトルを設定し、最後に「show」関数でダイアログを表示します。

DatePickerDialogActivity.java
package goodroid.sample.datepickerdialog;

import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.os.Bundle;
import android.widget.DatePicker;
import android.widget.TextView;

public class DatePickerDialogActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        //TextViewインスタンスを取得
        final TextView text = (TextView)findViewById(R.id.textView1);

        // カレンダーインスタンスを取得
        Calendar date = Calendar.getInstance();

        // DatePickerDialogインスタンスを取得
        DatePickerDialog datePickerDialog = new DatePickerDialog(
        	this,
        new DatePickerDialog.OnDateSetListener() {

    			public void onDateSet(
    				DatePicker view,
    					int year,
    					int monthOfYear,
    					int dayOfMonth) {

    				// Setした日付を取得する
    				text.setText(year + "年" +
    					    (monthOfYear + 1) + "月"+
                        dayOfMonth + "日");

    			}
    		}, date.get(Calendar.YEAR),
    	      date.get(Calendar.MONTH),
    	           date.get(Calendar.DATE)
        );

        // タイトルをセット
        datePickerDialog.setTitle("サンプル");

        // ダイアログを表示する
        datePickerDialog.show();

    }
}

main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="40dip" />

</LinearLayout>


実行結果はダイアログで選択した日付をテキスト表示しています。

実行結果


【関連記事】
ダイアログで時刻を表示する

5959 views | コメント:0 | 2012-05-30
コメント
まだこの記事にコメントはありません
コメントの投稿
名前 (必須)

メールアドレス (非公開)

本文(必須)

パスワード (必須)
(半角数字4桁)