본문 바로가기
프로그래밍/Kotlin

[Kotlin] Dialog 종료시 커스텀 리스너 동작

by Youngs_ 2021. 12. 14.

Dialog.kt

    private lateinit var onClickListener: OnDialogClickListener

    interface OnDialogClickListener
    {
        fun whenDismiss()
    }

    fun setOnDismissListener(listener: OnDialogClickListener)
    {
        this@DialogClass.onClickListener = listener
    }
    override fun onCreate(savedInstanceState: Bundle?) {
    ...
    }
    
    override fun dismiss() {
        super.dismiss()
        onClickListener.whenDismiss()
    }
    
    
    
    /*
    MainActivity에서 정의한 whenDismiss()를 사용하고 싶은 부분에서 아래코드를 사용하면 된다.
    onClickListener.whenDismiss()
    */

 

MainActivity.kt

DialogClass().let {
                it.setOnDismissListener(object : WriteBookReview.OnDialogClickListener{
                    override fun whenDismiss() {
                        updateList()
                    }
                })
                it.showNow(supportFragmentManager,"")
            }

 

댓글