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
'IT > Android' 카테고리의 다른 글
[Android] Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $ 에러 (0) | 2019.08.09 |
---|---|
[Kotlin] 코틀린에서 변수 타입 ? 는 무엇을 의미 하는가 (0) | 2019.08.01 |
KT 와이파이 핫스팟(테더링) 제한 풀기 (8) | 2019.07.23 |
[Android] setenforce: Couldn't set enforcing status to '0': Invalid argument (0) | 2019.06.28 |
[VoLTE] Pixel 2 XL 볼테 활성화를 위한 커스텀롬 설치하기(IMS, VoLTE) (2) | 2019.06.27 |