2012年02月02日

カスタムダイアログ(DatePicker)


DatePickerをカスタムダイアログとして表示させる
前回のカスタムダイアログの内容をDatePickerにしてみたいと思います
OKボタンを押すと入力されている日付がとれる仕組みです
カスタムダイアログを表示させる
<参考>日付入力(DatePicker)する ボタンが押されるとダイアログが表示されるところまでは前回と同じです
クリックされた時のイベントを以下のように書き換えます
    	//カスタムレイアウトを作成
    	LinearLayout layout = new LinearLayout(TestActivity.this);
    	//カスタムレイアウトの中身を作成
    		// 今日の日付を取得
    		Calendar c = Calendar.getInstance();
    		int y = c.get(Calendar.YEAR);
    		int m = c.get(Calendar.MONTH);
    		int d = c.get(Calendar.DAY_OF_MONTH);
    	//データピッカーを作成
    	final DatePicker dp1 = new DatePicker(TestActivity.this);
    	dp1.init(y, m, d,null);//年・月・日を入力
    		layout.addView(dp1);//レイアウトに入れる
    	//アラートダイアログを作成
    	AlertDialog.Builder dlg=
    			new AlertDialog.Builder(TestActivity.this);
    	dlg.setView(layout);
    	//OKボタンの設定
    	dlg.setPositiveButton("Ok", new DialogInterface.OnClickListener()
    		{public void onClick(DialogInterface dialog, int id) {
    			int Y = dp1.getYear();//年を取得
    			int M = dp1.getMonth();//月を取得
    			int D = dp1.getDayOfMonth();//日を取得
    			//ログに出力
    			Log.i("tag",String.format("%d年%d月%d日",Y,M+1,D ));
    		}});
    	dlg.setTitle("タイトル");
    	dlg.show();
初期値に本日の日付を取得して入力
OKボタンでログ出力をしています
また dp1.init(y, m, d,null);//年・月・日を入力
でのnullは日付が変更された時のイベントを取得するときに
使うっぽいですw
(未確認、、、これから勉強します)
tag01.JPG
スポンサードリンク

この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。