gpt4 book ai didi

java - 为什么在 Kotlin 中启动新的 Android Activity 需要 Java 类?

转载 作者:行者123 更新时间:2023-12-01 06:49:08 27 4
gpt4 key购买 nike

如果我想在 Android 中启动一个新的 Activity,我需要将该 Activity 传递给 Intent。但是,不要像这样仅仅传递 Kotlin 类:

val intent: Intent = Intent(this, SearchActivity::class)

我需要将 Kotlin 类作为 Java 类传递,如下所示:

val intent: Intent = Intent(this, SearchActivity::class.java)

为什么我需要添加这个额外的标识符,因为我的 SearchActivity是 .kt 文件吗?

最佳答案

您正在使用的 Intent 构造函数的第二个参数采用一个 java.lang.Class 对象。 SearchActivity::class 返回一个 kotlin.reflect.KClass。您可以通过访问 its java property 从中获取 java.lang.Class 。因此,您最终会遇到 SearchActivity::class.java 的有点奇怪的语法。

关于java - 为什么在 Kotlin 中启动新的 Android Activity 需要 Java 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52237912/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com