如何在Java中通过Intent调用Kotlin编写的Activity类
Java 调用 Intent 跳转 Kotlin 页面的正确实现
你之前的写法报错的核心原因是混淆了 Kotlin 源文件扩展名和编译后的 JVM 类名:.kt是 Kotlin 源文件的后缀,不属于运行时类名的一部分,::class.kt是 Kotlin 专属语法,在 Java 代码中不能直接使用。
正确写法如下:
startActivity(new Intent(getApplicationContext(), b.class));
使用时有几个注意事项:
- 确保 Kotlin 编写的目标类继承自
android.app.Activity或其子类(如AppCompatActivity),否则无法作为页面目标启动;如果你的b.kt源文件内的Activity类名和文件名不一致,需要把代码中的b替换为实际的类名 - 确认目标Activity已经在项目的
AndroidManifest.xml中完成注册,否则运行时会抛出ActivityNotFoundException - 常规场景下Kotlin编写的类在Java侧可以直接当作普通Java类引用,不需要额外加Kotlin专属的语法标识
内容的提问来源于stack exchange,提问作者Jack Stuart
相关产品推荐
相关产品推荐

