[kotlin] 안드로이드 다이얼로그 - 날씨 or 시간 설정하기

Leechaeyeon·2023년 6월 30일
0

코틀린 안드로이드

목록 보기
6/21

날씨 또는 시간 입력받기

사용자에게 날짜나 시간을 입력받는데 사용하는 다이얼로그를 피커(Piker) 다이얼로그라고 함

  • 날짜를 입력받을 때는 데이트 피커 다이얼로그
  • 시간을 입력받을 때는 타임 피커 다이얼로그

데이트 피커 다이얼로그 생성자

DatePickerDialog(context:Context,Listener:DatePickerDialog.OnDialog.OnDateSetListener?, year:Int, month:Int, dayOfMonth:Int) 
  • month값은 0부터 11까지 적절한 값을 받을려면 +1 을 해야한다.

fun dateDialog(){
        // 날짜를 선택하기 위해 사용하는 다이얼로그
        val calendar = Calendar.getInstance()
        val year = calendar.get(Calendar.YEAR)
        val month = calendar.get(Calendar.MONTH)
        val day = calendar.get(Calendar.DAY_OF_MONTH)
        // 날짜를 선택하면 동작할 리스너

        val datePicker = object : DatePickerDialog.OnDateSetListener{
            override fun onDateSet(view: DatePicker?, year: Int, month: Int, dayOfMonth: Int) {
                setTextView.text = "${year}${month+1}${dayOfMonth}일"
            }

        }
        val pickerDialog = DatePickerDialog(this@MainActivity, datePicker, year, month, day)
        pickerDialog.show()
    }

타임 피커 다이얼로그

TimePickerDialog(context:Context!, listener:PickerDialog.onTimeSetListener!, hourOfDay:Int, minute:Int, is24HourView:Boolean ) 
  • 시간 부분은 24시간으로 출력할 것인지 아니면 12시간으로 출력할지 지정한다
    true : 24시간 ( 오전 오후 X )
    false : 12시간 ( 오전 오후 표시 )


fun timeDialog(){
        val calendar = Calendar.getInstance()

        val hour = calendar.get(Calendar.HOUR)
        val minute = calendar.get(Calendar.MINUTE)

        val timePickerListener = object : TimePickerDialog.OnTimeSetListener{
            // 두 번째 : 시간, 세 번째 : 분
            override fun onTimeSet(p0: TimePicker?, p1: Int, p2: Int) {
                setTextView.text = "${p1}${p2}분"
            }
        }

        val pickerDialog = TimePickerDialog(this@MainActivity, timePickerListener,
            hour, minute, false)
        pickerDialog.show()
    }

0개의 댓글

관련 채용 정보