전공/Android

대화 상자 생성

BBungyaLog 2024. 6. 8. 19:44

기본 대화상자 생성

val builder: AlerDialog.Builder(this).apply {
    setTitle(“”)
    setMessage(“”)
    setPositiveButton(“확인”) { }
    setNegativButton(“취소”, null)
} 
builder.show()

 

이벤트 처리

- 변수

val click = DialogInterface.onClickListener {
    dialogInterface: DialogInterface?, idx: Int ->
    ...
}
setPositiveButton(“”, click)

 

- 람다함수

setPositiveButton(“확인”) {
    dialogInterface: DialogInterface?, idx: Int ->
    ...
}

 

목록이 있는 대화상자

- 기본 목록

setItems(R.array.foods) {
    dialogInterface: DialogInterface?, idx: Int ->
    val foods = resources.getStringArray(R.array.foods)
    ...
}

- 라디오버튼 목록

val selectedIdx = 0
setSingleChoiceItems(R.array.foods, selectedIdx) {
    dialogInterface: DialogInterface?, idx: Int ->
    selectedIdx = idx
}

setPositivebutton에서 구현

- 다중선택 목록

val selectedItems = booleanArrayOf(false, false, false)
setItems(R.array.foods, selectedItems) {
    dialogInterface: DialogInterface?, idx: Int, isChecked: Boolean ->
    selectedItems[idx] = ischecked
}

setPositiveButton에서 구현

 

커스텀 대화상자

대화상자가 layoutXml형식

val dialogLayout = DialogLayoutBinding.inflate(layoutInflater)

builder 안 setView(dialogLayout.root)

 

 

동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.