다이얼로그:
사용자와 상호작용하는 메세지. 토스트, 날짜 시간 입력, 알림창, 커스텀 다이얼로그 등.
binding.date.setOnClickListener{
DatePickerDialog(this, object:DatePickerDialog.OnDateSetListener{
override fun onDateSet(p0: DatePicker?, year: Int, month: Int, dayOfMonth: Int) {
Log.d("hong", "year: ${year} month: ${month+1} dayOfMonth: ${dayOfMonth}")
}
}, 2020, 8, 21).show()
}
binding.time.setOnClickListener{
TimePickerDialog(this, object:TimePickerDialog.OnTimeSetListener{
override fun onTimeSet(view: TimePicker?, hourOfDay: Int, minute: Int) {
Log.d("hong", "time: $hourOfDay , minute: $minute")
}
}, 15, 0, true).show()
}
binding.date.setOnClickListener{
val eventHandler = object:DialogInterface.OnClickListener{
override fun onClick(dialog: DialogInterface?, which: Int) {
if(which == DialogInterface.BUTTON_POSITIVE){
Log.d("hong", "this is positive")
}else if (which==DialogInterface.BUTTON_NEGATIVE){
Log.d("hong", "this is negative")
}
}
}
AlertDialog.Builder(this).run{
setTitle("this is title")
setIcon(android.R.drawable.ic_dialog_alert)
setMessage("정말 종료하시겠습니까?")
setPositiveButton("OK", eventHandler)
setNegativeButton("NO", eventHandler)
setNeutralButton("More", null)
show()
}
}
binding.date.setOnClickListener{
val items = arrayOf<String>("사과","바나나","체리","수박")
AlertDialog.Builder(this).run{
setTitle("this is list")
setIcon(android.R.drawable.ic_dialog_alert)
setMultiChoiceItems(items, booleanArrayOf(true, false, true, true), object:DialogInterface.OnMultiChoiceClickListener{
override fun onClick(dialog: DialogInterface?, p0: Int, p1:Boolean) {
Log.d("hong", "과일: ${items[p0]} 이 ${if(p1) "선택되었습니다" else "해제되었습니다"}")
}
})
setPositiveButton("닫기", null)
show()
}.setCanceledOnTouchOutside(false)
}