개발노트/Kotlin

10주차 1일 인터페이스

시계속세상은아직돌아가는중 2023. 9. 11. 20:32

인터페이스를 null값이 들어가는 문제가 있었죠.

 

interface NewUserListener {
    fun onNewUser(user: UserModel)
}

    var newUserListener: NewUserListener? = null

이 부분 만으로는 context를 지정해주지 않는다.

따라서 newUserListener는  null값이 계속 들어오므르 그 것을 해소해줄 필요가 있다.

 

이에 대한 해결 방법으로는

 

  fun setListener(context: NewUserListener) {
        newUserListener = context
    }

라는 메소드를 만들어서

 

//메인 액티비티 부분
    private fun dialogView() {
        val myAddContactDialogFragment = AddContactDialogFragment()
        myAddContactDialogFragment.show(supportFragmentManager, "myDialog")

        myAddContactDialogFragment.setListener(this@MainActivity)
    }

다이얼로그 프래그먼트가 실행될  때 context를 넣어준다.

 

이렇게 인터페이스를 사용할 준비가 끝났다!