본문 바로가기

문제 해결

Two-way binding cannot resolve a setter for ... 해결 방법

문제 발생

Databinding 라이브러리를 사용하여, View -> ViewModel 로 데이터를 갱신하기 위해 InverseBinding를 했을 때 다음과 같은 에러가 발생하였다.

 

Two-way binding cannot resolve a setter for ...

문제 해결

혹시 코틀린으로 개발을 하는 경우라면, 데이터 바인딩하려는 데이터 클래스의 해당 변수가 var로 선언되어있는지 확인해야 합니다.

만약, 해당 변수가 val로 선언되어있다면, var로 수정해야 합니다.

val은 값 변경이 불가능하기 때문에, Inverse시 setter()를 할 수 없어 발생하는 에러이므로, 해당 변수를 var로 수정하신 후 다시 실행해보시면 정상적으로 양방향(Two-way) 바인딩이 되는 것을 확인하실 수 있습니다 ^^