Android

안드로이드에서 Dialog 버튼 결과를 액티비티에서 콜백 받기

최데브 2021. 5. 21. 11:30

class MotionDialog(context : Context){

private lateinit var oncustomDialogLClickistener : CustomDialogListener 

.

.

.

interface CustomDialogListener{
fun onPositiveClicked(repeat_count : Int , interval : Int , emotion : String);
fun onNegativeClicked()
}

 

.

.

.

fun setDialogListener(oncustomDialogLClickistener : (Int, Int , String) -> Unit) {
this.oncustomDialogLClickistener = object : CustomDialogListener{
override fun onPositiveClicked(count: Int, interval: Int , emotion: String) {
oncustomDialogLClickistener(count, interval ,emotion)
dialog.dismiss()
}
override fun onNegativeClicked() {

}

}
}

 

oncustomDialogLClickistener.onPositiveClicked(count , interval , emotion) // 실제로 액티비티로 값을 보내는 동작

 

}

 

 

액티비티 코드

 

onCreate 안에

 

motionDialog.setDialogListener { count: Int, interval: Int , emotion : String ->
Toast.makeText(this, count.toString() + " "+ interval.toString()+ " "+ emotion , Toast.LENGTH_SHORT).show()
}

반응형