liguofeng29’s blog

個人勉強用ブログだっす。

AndroidのUI - DatePickerDialogとTimePickerDialog

 

activity_main.xml
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/datePickerBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="DatePickerDialog"
android:textAllCaps="false"
android:textSize="20dp"
android:onClick="clickTimePikcerBtn"/>
<Button
android:id="@+id/timePikcerBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TimePickerDialog"
android:textAllCaps="false"
android:textSize="20dp"
android:onClick="clickTimePikcerBtn"/>
<TextView android:id="@+id/show"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="30dp"
android:textColor="#f00"/>
</LinearLayout>
 
MainActivity.java
 
package com.example.liguofeng.datepickerdialog_timepickerdialog;

import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity {

TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


}

// DatePickerDialog
public void clickDatePikcerBtn(View view) {
DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(android.widget.DatePicker datePicker, int year,
int monthOfYear, int dayOfMonth) {
// 選択した時間を取得
textView = (TextView) findViewById(R.id.show);
textView.setText(year + "年" + monthOfYear + "月" + dayOfMonth + "日");

}
};

// 日付情報の初期設定
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR); // 年
int monthOfYear = calendar.get(Calendar.MONTH); // 月
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); // 日

// 日付設定ダイアログの作成・リスナの登録
DatePickerDialog datePickerDialog =
new DatePickerDialog(this, dateSetListener, year, monthOfYear, dayOfMonth);

// 日付設定ダイアログの表示
datePickerDialog.show();
}

// TimePickerDialog
public void clickTimePikcerBtn(View view) {
TimePickerDialog.OnTimeSetListener timeSetListener = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// 選択した時刻取得
textView = (TextView) findViewById(R.id.show);
textView.setText(hourOfDay + "時" + minute + "分");
}
};

// 日付情報の初期設定
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR); // 年
int monthOfYear = calendar.get(Calendar.MONTH); // 月
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); // 日

int hour = calendar.get(Calendar.HOUR);
int mi = calendar.get(Calendar.MINUTE);

// 日付設定ダイアログの作成・リスナの登録
TimePickerDialog timePickerDialog = new TimePickerDialog(this, timeSetListener, hour, mi, false);

// 日付設定ダイアログの表示
timePickerDialog.show();
}
}