해당 포스트는 이전 포스트에서 이어지는 포스트임으로 시작 전 하단의 링크에서 다이얼로그를 생성하는 방법을 확인하자.
[Android] 개발 시작하기 - Kotlin 다이얼로그로 새 창 띄우기
대화상자 | Views | Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 대화상자 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Compose 사용해
lg2ivl3.tistory.com
1. 다이얼로그 버튼 추가
기본적으로 다이얼로그에 버튼은 세 가지가 존재한다.
- 긍정: 작업을 수락하고 계속 진행하는 데 사용합니다('OK' 작업).
- 음수: 작업을 취소하는 데 사용합니다.
- 중립: 사용자가 작업을 계속하고 싶지 않지만 취소하고 싶지는 않은 경우에 사용합니다. 이것은 긍정적 버튼과 부정적 버튼 사이에 나타납니다. 예를 들어 '나중에 알림'과 같은 작업이 있습니다.
또한 각 버튼은 하나씩만 추가 가능하다.(예를 들어서 '긍정' 버튼이 두 개 이상 존재할 수 없다.) 버튼을 추가하는 방법은 아래와 같다. 결과적으로 하나의 다이얼로그당 버튼은 총 3개까지 존재 가능하며, 다이얼로그 코드 내부에 아래의 코드를 추가하면 된다.
.setPositiveButton("Positive") { dialog, which ->
// Do something.
}
.setNegativeButton("Negative") { dialog, which ->
// Do something else.
}
.setNeutralButton("Neutral") { dialog, which ->
// Do something else.
}
2. 동작 확인
버튼이 정상적으로 추가된 것을 확인할 수 있다. 현재는 버튼을 클릭해도 어떠한 동작도 하지 않지만 다음 포스트에서 각 버튼에 맞는 기능을 추가해보자.

전체 코드는 아래와 같다.
package com.application.myapplication
import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import android.widget.Button
import androidx.appcompat.app.AlertDialog
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_main)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
val testButton : Button = findViewById(R.id.button)
testButton.setOnClickListener {
val builder: AlertDialog.Builder = AlertDialog.Builder(this)
builder
.setMessage("I am the message")
.setTitle("I am the title")
.setPositiveButton("Positive") { dialog, which ->
// Do something.
}
.setNegativeButton("Negative") { dialog, which ->
// Do something else.
}
.setNeutralButton("Neutral") { dialog, which ->
// Do something else.
}
val dialog: AlertDialog = builder.create()
dialog.show()
}
}
}
'[Develop] > [Android]' 카테고리의 다른 글
| [Android] 개발 시작하기 - Kotlin 다이얼로그로 새 창 띄우기 (0) | 2025.09.08 |
|---|---|
| [Android] 개발 시작하기 - Android Studio 로그 확인하기 (0) | 2025.09.04 |
| [Android] 개발 시작하기 - RoomDB 사용하기 (3) (0) | 2025.09.02 |
| [Android] 개발 시작하기 - Kotlin EditText로 값 입력받기 (0) | 2025.08.29 |
| [Android] 개발 시작하기 - RoomDB 사용하기 (2) (0) | 2025.08.26 |