AlertDialog.Builder()class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.introButton2?.setOnClickListener {
AlertDialog.Builder(this).run{
setTitle("test")
setMessage("끄겟습니까?")
setPositiveButton("네", null)
setNegativeButton("아녕", null)
setNeutralButton("흠..", null)
show()
}
}
...
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.introButton2?.setOnClickListener {
AlertDialog.Builder(this).run{
setTitle("test")
setMessage("끄겟습니까?")
setPositiveButton("네", object : DialogInterface.OnClickListener{
override fun onClick(p0: DialogInterface?, p1: Int) {
Log.d("=============", "YESSSSSSS")
}
})
setNegativeButton("아녕", object : DialogInterface.OnClickListener{
override fun onClick(p0: DialogInterface?, p1: Int) {
Log.d("=============", "NOOOOOO")
}
})
setNeutralButton("흠..", null)
show()
}
}
onClickListener로 구현할 수 있다.3) 이벤트 핸들러를 따로 빼서 만들기
binding.introButton2?.setOnClickListener{
AlertDialog.Builder(this).run {
val listener = object : DialogInterface.OnClickListener {
override fun onClick(p0: DialogInterface?, p1: Int) {
when (p1) {
DialogInterface.BUTTON_POSITIVE ->
Log.d("YES", "YES")
DialogInterface.BUTTON_NEGATIVE ->
Log.d("NO", "NO")
}
}
}
setTitle("TEST2")
setMessage("click click")
setPositiveButton("그려요", listener)
setNegativeButton("아니여", listener)
setNeutralButton("중립이여", listener)
show()
}
setMultiChoiceItems 사용onMultiChoiceClickListener을 구현하여 사용한다.binding.introButton?.setOnClickListener{
val items = arrayOf<String>("사과", "복숭아", "체리", "수박")
AlertDialog.Builder(this).run{
setTitle("목록 테스트")
setMultiChoiceItems(items, booleanArrayOf(true, false, true, false), object : DialogInterface.OnMultiChoiceClickListener{
override fun onClick(p0: DialogInterface?, p1: Int, p2: Boolean) {
Log.d("===================", "${items[p1]} 이${if(p2) "선택되었습니다." else "선택 해제되었습니다."}")
}
})
setPositiveButton("닫아잇", null)
show()
}
}
setSingleChoiceItemsonClickListener로 구현할 수 있다.setSingleChoiceItems(items, 1, object : DialogInterface.OnClickListener{
override fun onClick(p0: DialogInterface?, p1: Int) {
Log.d("================", "${items[p1]}이 선택되었습니다.람쥐")
}
})
==> 설정 위치가 다르다.
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.introButton2?.setOnClickListener {
AlertDialog.Builder(this).run{
setTitle("test")
setMessage("끄겟습니까?")
setPositiveButton("네", object : DialogInterface.OnClickListener{
override fun onClick(p0: DialogInterface?, p1: Int) {
Log.d("=============", "YESSSSSSS")
}
})
setNegativeButton("아녕", null)
setNeutralButton("흠..", null)
setCancelable(false)
setPositiveButton("닫아잇", null)
show()
}.setCanceledOnTouchOutside(false)
}
...........