라떼는말이야

[android] DataBinding Error - "if getId is called on an expression, it should have an id" 본문

안드로이드

[android] DataBinding Error - "if getId is called on an expression, it should have an id"

MangBaam 2022. 3. 15. 02:19
반응형

프로젝트의 로그인 부분을 DataBinding으로 변경하는 과정에서 예상치 못한 에러를 만났다.

 

구현 중이던 상황

구현하던 부분은 로그인 버튼을 누르면 뷰모델의 login() 함수를 호출하는 것이고, login() 함수는 로그인 화면의 아이디, 패스워드 EditText에서 텍스트를 가져와 파라미터로 넘겨주려고 한다.

로그인 화면

 

에러를 만난 부분

하지만 아래와 같은 오류가 발생하면서 빌드에 실패한다.

if getId is called on an expression, it should have an id: userId.text

 

분명 개발자 가이드에서도 .text로 접근하라고 되어있었다.

 

문제 해결

해결한 방법은 생각보다 간단했다. text를 getText()로 변경하면 빌드에 성공한다.

개발자 가이드에서 .text와 같이 코틀린 방식으로 접근했지만 모든 부분에서 적용되진 않았던 모양이다. 자바 방식으로 getText()를 직접 호출해서 해결할 수 있었다.

스택오버플로우에서 해결 방법을 찾았다.

반응형
Comments