데이터 바인딩을 통해 RecyclerView를 bind하려고 작업하던 중
@BindingAdapter()를 쓰기위해
apply plugin: 'kotlin-kapt'를 추가하게 되었는데
org.jetbrains.kotlin.gradle.internal.KaptExecution
오류가 나기 시작했다
인터넷에 관련 자료를 찾아봐도
JAVA 버전이 1.8로바꾸면 해결된다는 게시글 외에 별다른 해결책을 찾지 못했고
결국 @BindingAdapter()를 추가하기 전으로 상태를 되돌렷는데
이번에는
data binding error: cannot find symbol class ... Impl
MalformedByteSequenceException: 1 ( ) 1 Ʈ UTF-8
이 두가지 에러가 나오기 시작했다
clean project와 cache초기화를 해도 문제는 해결되지않았고
하나씩 작성한 코드를 살펴보던도중
android:onClick="{() -> viewmodel.onclick()}"
이 부분이 원인임을 알 수있었고 XML파일에서 잘못된 문법으로 작성된 부분이 있다면 컴파일 단계에서
위와 같은 에러를 뿜어낸다
데이터 바인딩을 사용하다 위와 같은 에러가 발생한다면
xml에서 오류를 찾아보길 바랍니다
추가적으로 인코딩이 잘못된 경우에도 위에러가 발생합니다.
데이터바인딩이 코드를 줄여 가독성과 결합도를 줄여주지만
이렇게 오류가 나도 정확한 어디서 에러나는지 알 수 없는점은 단점이라고 생각된다
'프로그래밍 > Android' 카테고리의 다른 글
[Android] Android Thread, Looper, Handler (0) | 2021.10.18 |
---|---|
[Android Studio 4.0] 갑자기 파일내용이 다르게 나오는 현상 (0) | 2020.08.30 |
Android 디자인패턴별 장단점 비교 (MVC, MVP, MVI, MVVM, SVG) (0) | 2020.03.24 |
[Android] Layout Start, End, Left, Right 차이점 (0) | 2019.12.03 |
[Android] assets 에서 음악재생 (0) | 2019.09.02 |
댓글