[Android] 날짜/시간 버튼 만들기 - PickerDialog

원준·2023년 7월 21일

Android Studio

목록 보기
33/40

이게 뭔데?

  • 기존의 버튼에서 클릭 시 날짜/시간을 쉽게 선택하고 값을 가져올 수 있도록 다이아로그(Dialog)를 만들 수 있다.

사용할께.

1. 날짜 다이아로그

// 기본값 설정을 위해 현재 날짜를 들고옴
Calendar calendar = Calendar.getInstance();

// TODO: 2023-07-21 Date 피커 다이로그 기능이 내부적으로 존재한다.
DatePickerDialog dialog = new DatePickerDialog(
        AddActivity.this,
        new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
                // 날짜를 선택하고 확인을 누를경우 선택한 날짜를 가져옴
                // i : 년
                // i1 : 월 (0 부터 시작)
                // i2 : 일
                int month = i1 + 1;
                String strMonth = (month < 10)? "0" + month: "" + month;

                String strDay = (i2 < 10)?  "0" + i2: "" + i2;
            }
        },
        calendar.get(Calendar.YEAR), //기본 값 설정 (현재 날짜를 들고오는게 좋음)
        calendar.get(Calendar.MONTH),
        calendar.get(Calendar.DAY_OF_MONTH)
);

// 만든 dialog를 보여줌.
dialog.show();

2. 시간 다이아로그

Calendar calendar = Calendar.getInstance();


TimePickerDialog dialog = new TimePickerDialog(
        AddActivity.this,
        new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker timePicker, int i, int i1) {
            //i : 시간
            //i1 : 분

                String strHour = (i < 10)? "0" + i : "" + i;
                String strMinute = (i1 < 10)? "0" + i1 : "" + i1;
            }
        },
        calendar.get(Calendar.HOUR_OF_DAY),
        calendar.get(Calendar.MINUTE),
        true //24시간으로 표시할 것인지
        //false면 AM/PM으로 표시한다.
);

dialog.show();
profile
공부해보자

0개의 댓글