Type inference failed: Not enough information to infer parameter T in fun <T: View!> findViewById(id: Int): T!
你接手了代码,里面有一行代码是这样写的
private val mTip: TextView by lazy { findViewById(R.id.xxx) }
你也不知道他们为何在 kotlin 还写 findViewById,不过也没啥问题,但是你发现别人代码没报红,你的会报红,错误信息如下,但是不影响运行。
这种情况基本上是你的 kotlin 插件版本是比较旧导致,例如1.3.72版本就会报错,1.4.30版本就没报错了。
File-Settings-Plugins,找到 kotlin,查看版本
如果你的是1.3.x,如何升级?
打开项目根目录下的build.gradle,先修改下面的版本号
ext.kotlin_version = "1.4.32"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
synProject,
File-Languages&Frameworks-Kotlin
这里会有个install按钮,安装完plugin里的版本号就变了。