【问题标题】:Android studio - kotlin class not found when implementing in java file - error "cannot find symbol class"Android studio - 在 java 文件中实现时找不到 kotlin 类 - 错误“找不到符号类”
【发布时间】:2023-01-12 13:05:25
【问题描述】:

我正在尝试在 android studio 的 java 类中使用 kotlin 类。但是我两次收到以下错误...

“找不到符号类 KotlinClass”

KotlinClass 是我要实现的 kotlin 类的文件名。

java 和 kotlin 文件都在同一个包中。

我曾尝试将它们放在不同的包中,但这给我带来了更多问题,所以我将它们放在同一个包中,但我可能已经这样做了,所以如果这是一个潜在的解决方案,我可以再试一次,但我需要更详细的步骤,如果可能的。

此错误发生在构建选项卡中。

我对此进行了相当多的调查,但似乎没有任何效果。

这是我的java类

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        KotlinClass x = new KotlinClass();
        x.kotlinMethod();
    }
}

这是我的科特林课

lass KotlinClass {
    fun kotlinMethod() {
        println("You did it again!!!")
    }
}

我是 android studio 的新手,我们将不胜感激

【问题讨论】:

  • 你可以编辑你的帖子以包含你的 gradle/maven 文件吗?默认情况下,java文件从src/main/java解析,kotlin文件从src/main/kotlin解析。为了对这两个文件使用同一个源目录,您需要配置您的 IDE 或构建脚本以在同一目录中查找 kotlin/java 源。

标签: java android kotlin cannot-find-symbol


【解决方案1】:

我认为您的问题是您已将项目创建为 Java 项目,而 Java 项目不直接支持 Kotlin。

如果您将项目创建为 Kotlin 项目,例如

那么 Kotlin 从一开始就支持 Java。唯一的问题是活动将在 Kotlin 中。

为了避免这种情况,如下所示,您可以添加另一个 Activity 并将其设置为 Java,然后使用它来替换 Kotlin Activity(不知道为什么不这样做)。

以下说明:-

  • 即该项目编译并在模拟器上运行。
  • 可以看出 MainActivity(经过一些操作)是 Java
  • KotlinClass 是 Kotlin

【讨论】:

    【解决方案2】:

    像这样创建Kotlin class并保持其余不变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-02
      • 1970-01-01
      • 2017-10-14
      • 1970-01-01
      • 2017-11-17
      相关资源
      最近更新 更多