Android Studio -在Java文件中实现时未找到Kotlin类-错误“无法找到符号类”

dhxwm5r4  于 2023-01-15  发布在  Android
关注(0)|答案(3)|浏览(1153)

我试图在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();
    }
}

这是我的Kotlin课

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

我非常新的android工作室,任何帮助将不胜感激

xtfmy6hx

xtfmy6hx1#

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

然后Kotlin从一开始就支持Java,唯一的问题是活动将在Kotlin中。
要避免这种情况,正如下面所做的,您可以添加另一个Activity,将其设置为Java,然后使用它来替换KotlinActivity(不确定为什么要这样做)。
以下内容说明:

  • 即在仿真器上编译和运行的项目。
  • 可以看出,MainActivity(带有一些操作)是Java
  • Kotlin类是Kotlin
mec1mxoz

mec1mxoz2#

像这样创建Kotlin class,其余部分保持不变。

rt4zxlrg

rt4zxlrg3#

对于这个问题,我有一个简单的解决方案,为我工作。
在build.gradle中添加以下ID应用程序级别gradle

plugins {
      id 'org.jetbrains.kotlin.android'
}
plugins {
    id 'org.jetbrains.kotlin.android' version '1.6.21' apply false
   }

相关问题