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里的版本号就变了。
文章讲述了在使用Kotlin编程时遇到Typeinference失败的问题,原因是旧版本的Kotlin插件(如1.3.72)导致编译错误。解决方法是在File-Settings-Plugins中更新Kotlin插件到1.4.30以上版本,如1.4.32,通过修改build.gradle文件并重新安装插件来修复问题。
4419

被折叠的 条评论
为什么被折叠?



