일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Android
- androidstudio
- bitmap
- BOJ
- Canvas
- CS
- Database
- DBeaver
- DP
- Ecilpse
- Eclipse
- firebase
- git
- github
- GooglePlayServices
- gradle
- IDE
- IntelliJ
- java
- json
- kotlin
- level2
- linux
- mariadb
- MYSQL
- Paint
- permission
- python
- Sorting
- sourcetree
Archives
will come true
[Android/Kotlin] 안드로이드 뷰바인딩 하려는데 MainActivityBinding 클래스가 자동으로 생성안될 경우 해결법 본문
Android
[Android/Kotlin] 안드로이드 뷰바인딩 하려는데 MainActivityBinding 클래스가 자동으로 생성안될 경우 해결법
haehyun 2021. 12. 23. 23:18728x90
문제상황
안드로이드 뷰바인딩 기능을 실습하기위해 activity_main.xml 레이아웃 작성 후, build.gradle파일을 수정하고 새로 빌드했음에도 MainActivity.kt 소스파일에서 MainActivityBinding 클래스에 접근할 수 없다.(해당 클래스 자체가 존재하지 않음) XML파일에 맞는 클래스명을 입력해도 빨간색으로 표시되며 존재하지 않는다고 함.
android {
// ...
buildFeatures{
viewBinding = true
}
}
참고로 프로젝트 생성 때부터 Gradle 버전도 4.0이상으로 잘 설정되어있는 상태.
해결 A
1. Gradle 파일을 수정한 후, [Build] > [Rebuild Project] 클릭
2. MainActivity.kt 소스파일로 이동하여 뷰바인딩 객체를 생성하면 빨간줄이 표시되지 않는다.
해결 B
1. 기존에 buildFeatures{ } 로 작성한 부분을 지우고 viewBinding{ } 형식으로 새로 작성해준다.
android {
// ...
viewBinding{
enabled = true
}
}
2. MainActivity.kt 파일로 이동해주면 위와 같은 알림이 표시된다.
Gradle파일이 변경되었으니 프로젝트와 다시 싱크를 맞추라는 뜻으로, "Sync Now"를 눌러준다. ★
3. [Build] > [Rebuild] 클릭
4. XML파일명에 따른 클래스명(XML파일명 카멜식, 언더바제거, + Binding)을 입력하면 제대로 자동완성에 걸리게 된다.
5. build.gradle파일로 돌아가서 다시 'buildFeatures'를 입력하면 이제서야 자동완성에 걸리게된다.
728x90
'Android' 카테고리의 다른 글
[Android] Android Studio에서 Github 연동하기 (0) | 2021.12.30 |
---|---|
[Android/Kotlin] Chronometer 클래스로 스톱워치 구현하기 (0) | 2021.12.30 |
[Android] 안드로이드 프로젝트명 변경하기 (1) | 2021.12.22 |
[Android/Kotlin] Android 프로젝트 MainActivity.kt 파일 문법 분석 (0) | 2021.12.21 |
[Android] 안드로이드 프로그래밍 관련 사이트 (0) | 2021.12.16 |
Comments