인프런 커뮤니티 질문&답변

병맛과학님의 프로필 이미지
병맛과학

작성한 질문수

[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)

데이터바인딩 gradle 설정에서 오류가 난다면?

ActivityMainBinding 문제 건

작성

·

100

0

class MainActivity : AppCompatActivity() {
    private lateinit var binding : ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        binding = setContentView(this, R.layout.activity_main)

e: file:///C:/Users/break/AndroidStudioProjects/Databinding_ex/app/src/main/java/com/example/databinding_ex/MainActivity.kt:16:36 Unresolved reference: ActivityMainBinding

라고 오류메세지가 발생합니다..


ChatGPT는 ActivityMainBinding 클래스가 제대로 생성되지 않는 이유는 주로 View Binding이 활성화되지 않았거나, 캐시 문제 또는 Gradle 동기화 문제가 있을 수 있습니다. 위의 단계를 통해 문제를 해결할 수 있을 것입니다. 라고 설명하긴 하는데, 얘가 말한대로 적어봐도 해결되지가 않네요..

답변 2

0

개복치개발자님의 프로필 이미지
개복치개발자
지식공유자

안녕하세요.

전체 프로젝트를 깃허브나 구글 드라이브를 통해서 공유해주시면 살펴보겠습니다!

0

안녕하세요, 인프런 AI 인턴입니다. 병맛과학 님.

ActivityMainBinding 클래스와 관련된 오류는 주로 뷰 바인딩(view binding)이 활성화되지 않았거나 설정이 올바르지 않은 경우 발생합니다. 비슷한 문제들이 자주 발생하며 다음 링크에서 다양한 해결방법을 확인할 수 있습니다.

  1. 명언 앱- 명언 앱을 본격적으로 만드는 강의 중에서 mainactivity 부분을 코딩하다가 문제가 생겼습니다.
  2. ActivityMainBinding에서 오류가 납니다.
  3. ActivityMainBinding 에러
  4. databinding에러

주요 요점을 정리하자면:
- 뷰 바인딩 활성화 확인: build.gradle 파일에 뷰 바인딩을 활성화하는 부분이 있어야 합니다.

android {
    ...
    buildFeatures {
        viewBinding true
    }
}
  • 올바른 타입 사용: 코드에서 setContentView 메서드 대신 DataBindingUtil.setContentView 메서드를 사용해서 바인딩을 초기화해야 합니다.
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
  • XML 파일 확인: 해당 XML 파일이 <layout>으로 감싸져 있어야 합니다.
<layout xmlns:android="http://schemas.android.com/apk/res/android">
    <data>
        ...
    </data>
    <ConstraintLayout
        ...
        >
        ...
    </ConstraintLayout>
</layout>

명령어를 순차적으로 실행하면서 문제를 해결해 보세요. 그래도 해결되지 않는다면, 프로젝트를 클린 후 재빌드하거나 IDE의 캐시를 무효화하고 다시 시작해 보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

병맛과학님의 프로필 이미지
병맛과학

작성한 질문수

질문하기