IT/Android
[Kotlin] Not enough information to infer type variable T 에러
토마토조아
2019. 7. 31. 14:29
728x90
Kotlin으로 안드로이드 프로그래밍은 처음 시작한다면 이 에러를 거의 100% 확률로 접할 수 있다.
물론 초기만 당하고, 한 번 당해보면 그 뒤부터는 당할 일이 없는 에러이기도 하다.
위의 에러를 직역해본다면 다음의 뜻이다.
"정보가 불충분하여 변수 T에 대한 타입을 추론할 수 없다."
실제 빌드타임에 에러는 아래와 같이 발생한다.
C:\workspace\testkotlin1\app\src\main\java\com\testkotlin1\MainActivity.kt: (23, 13): Type inference failed: Not enough information to infer parameter T in fun <T : View!> findViewById(p0: Int): T!
Please specify it explicitly.
> Task :app:buildInfoGeneratorDebug
Type 을 명시적(Explicit)으로 써라 라는 에러를 발생하는 것이다.
따라서 아래의 코드를
if (findViewById(R.id.fragment_container) != null) {
if (savedInstanceState != null) {
return
}
}
다음과 같이 명시적으로 써준다. 물론 View 종류에 ListView, RecyclerView, LinearLayout 등등 다양하게 바뀔 수 있다.
if (findViewById<FrameLayout>(R.id.fragment_container) != null) {
if (savedInstanceState != null) {
return
}
}
728x90