inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

명언 앱 만들기 소개 및 레이아웃 설정

자료형 불일치 오류가 뜹니다

361

Junho Moon

작성한 질문수 4

0

명언 앱 만들기 강의 수강 중

 

Type mismatch: inferred type is ViewDataBinding! but ActivityMainBinding was expected

위와 같은 오류가 발생합니다.

 

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

에 빨간 밑줄이 그어집니다.

 

package com.junho.goodwords

import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.databinding.DataBindingUtil
import com.junho.goodwords.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMainBinding

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

        binding=DataBindingUtil.setContentView(this,R.layout.activity_main)
        binding.showAllSentencesBtn.setOnClickListener {
            val intent= Intent(this,SentenceActivity::class.java)
            startActivity(intent)
        }
    }
}

gradle 에서는

buildFeatures{

dataBinding=true

viewBinding=true

}

로 설정하였습니다.

android kotlin

답변 2

1

개복치개발자

https://www.inflearn.com/questions/1282981/%EB%B9%8C%EB%93%9C%EA%B0%80-%EB%90%98%EC%A7%80-%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4?commentId=344615#344615
유사한 오류인거 같은데 잘 해결하셨나요?

잘 안되시면 전체 코드를 공유해주세요~

-1

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. Junho Moon 님.

질문하신 Type mismatch: inferred type is ViewDataBinding! but ActivityMainBinding was expected 오류는 DataBindingUtil.setContentView 메서드의 결과 타입과 변수 binding의 타입이 일치하지 않아 발생하는 문제입니다. 이와 유사한 상황을 해결한 예시가 있어, 해당 내용을 참고하시면 도움이 될 것 같습니다.

특히 [왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin) 강의 중 발생하는 이슈들과 관련하여 다음 링크가 유용할 수 있습니다:

  • 명언 앱 만들기 도중 발생한 databinding 관련 질문: 개발 중 발생한 오류에 대해서는 databinding 오류 관련해서 문의드립니다에서 비슷한 해결 방식이 제시되었습니다. 이 글에서는 데이터 바인딩 오류를 다루고 있으며, 오류의 배경 및 해결 방안에 대한 설명이 포함되어 있습니다. 본 사례에서처럼 DataBindingUtil.setContentView를 사용할 때 반환되는 타입이 기대하는 ActivityMainBinding과 정확히 일치해야 합니다.

문제 해결을 위해 DataBindingUtil.setContentView 메서드의 사용 방법을 점검하시고, 반환 타입을 명시적으로 ActivityMainBinding으로 캐스팅해 보실 것을 권장드립니다. 예를 들면, 다음과 같이 캐스팅을 할 수 있습니다:

binding = DataBindingUtil.setContentView(this, R.layout.activity_main) as ActivityMainBinding

이외에도 gradle 설정이 올바르게 적용되었는지 확인하시고, clean 및 rebuild 프로젝트를 시도해 보시는 것도 유용한 절차입니다.

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

주사위앱 소개 및 레이아웃 설정 문제

0

59

2

안드로이드 에뮬레이터가 실행이 안 되요...ㅠ

0

105

2

30 강 소스 좀 올려 주십시요

0

80

2

onBackPressed 함수가 동영상 하고 다르게 동작합니다.

0

89

2

ListView 초기 실행 안됩니다.

0

94

2

코딩을 완료하고난후 앱 실행시 자동 종료

0

71

2

datavinding에서 오류가 납니다.

0

51

1

안드로이드 스튜디오 버전 차이로 초기 empyt activity 선택하면 안됩니다.

0

108

2

context의 구별에 대하여

0

69

2

"프롤로그에서 ..." 오류 관련해 직전 질문에 대한 추가 질문입니다.

0

67

2

"프롤로그에서 콘텐츠가 허용되지 않습니다." 오류

0

156

3

해결완료

1

186

2

databinding 설정후 run하면 에러(해결)

0

222

2

databinding 설정 이후 실행시 에러

0

268

4

안드로이드 입문하는 사람입니다.

0

70

1

Firebase uid

0

75

3

activity_main 화면 다름

0

114

2

강의화면과 다른데 맞게진행되는것인가요...????

0

105

2

파이어베이스 질문

0

74

2

ActivityMainBinding에 오류가 납니다

0

134

2

선생님 onBackPressed 작동이 안되는거 같습니다

0

118

2

>app>res>layout 이 존재하지 않습니다.

0

119

2

안드로이드 스튜디오 미어캣 버전 사용 한글 깨짐

0

747

2

안드로이드 스튜디오 오류 발생 시 대처 방법은 요?

0

289

2