将 Java 文件转换为 Kotlin 现在它不会编译 - “内部编译器错误”

我正在 Android Studio 中将 Java Android 项目转换为 Kotlin,但遇到了问题。

当我将一个文件转换为 Kotlin 并且 MainActivity 仍然在 Java 中时,它工作正常,但在转换 MainActivity 后代码不再编译。它因 Gradle / Kotlin 相关错误而失败,并且堆栈跟踪不是很有用,也没有指向我的代码中的任何内容。


杨__羊羊
浏览 248回答 1
1回答

慕田峪9158850

问题来自转换OnClickListeners。我检查了您的代码,发现 kotlin 编译器无法检测其 lambda 形式。尝试更改OnClickListeners 如下:@Suppress("ObjectLiteralToLambda")class MainActivity : Activity() {    // private val randomFactListener = OnClickListener {    //    // code block    // }    private val randomFactListener = object : OnClickListener {        override fun onClick(v: View?) {            // code block        }    }    // private val backToHomeListener = OnClickListener {    //    // code block    // }    private val backToHomeListener = object : OnClickListener {        override fun onClick(v: View?) {            // code block        }    }    // private val anotherRandomFactListener = OnClickListener {    //    // code block    // }    private val anotherRandomFactListener = object : OnClickListener {        override fun onClick(v: View?) {            // code block        }    }}这是您更正后的MainActivity.kt完整源代码。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java