Java 如何避免由于Kotlin构建错误而重新启动Android Studio:无法解析以下类的超类型

Java 如何避免由于Kotlin构建错误而重新启动Android Studio:无法解析以下类的超类型,java,android,gradle,kotlin,interface,Java,Android,Gradle,Kotlin,Interface,我有一个用Java编写的Android应用程序,现在正在第一次试用Kotlin。我已经使用Kotlin创建了一个新的活动,该活动应该通过“startActivityforResult”从Java代码中调用。IDE(可能是Kotlin插件?)自动向gradle构建文件添加所有必需的内容。新活动使用主活动中的键来标识和枚举参数和返回值。当我尝试使用Android Gradle插件v3.3.1和Kotlin 1.3.20在Android Studio 3.3.1中构建此应用程序时,没有 通常这会导致错

我有一个用Java编写的Android应用程序,现在正在第一次试用Kotlin。我已经使用Kotlin创建了一个新的活动,该活动应该通过“startActivityforResult”从Java代码中调用。IDE(可能是Kotlin插件?)自动向gradle构建文件添加所有必需的内容。新活动使用主活动中的键来标识和枚举参数和返回值。当我尝试使用Android Gradle插件v3.3.1和Kotlin 1.3.20在Android Studio 3.3.1中构建此应用程序时,没有

通常这会导致错误:无法解析以下类的超类型。请确保在类路径中具有所需的依赖项

这里列出的类是我自己的两个类(因此依赖关系没有问题),两种情况下的超类型是相同的,即Java接口

interface AllDataLoadedListener {
    void allDataLoaded();
}
与其他接口定义一起位于名为DatabaseInterfaces.java的文件中

按照建议使缓存失效并重新启动Android Studio会有所帮助(不总是这样,但主要是这样),但在每次代码更改之后,这一步显然是必要的,因为每次代码更改都会很快变得令人讨厌


根本问题是什么?如何避免和/或修复此问题?

结果表明,虽然不赞成在一个文件中声明多个接口,但java编译器仍然允许,Kotlin编译器目前不允许。
将接口文件拆分为多个文件,每个文件都有一个单独的(1行)接口,接口的类型名也是文件名。

好的,Java规范规定每个文件只能有一个公共成员。如果是可见性问题,这就是原因。