Kotlin 从 Java 访问内部 class 中的常量

Kotlin accessing constant in inner class from Java

注意:这个问题从 Kotlin 1.0 beta 版本开始就已经解决了(至少)。由于历史原因,其余内容保持完整。


我将 Kotlin 与 Android 一起使用,我正在尝试使用 SDK 中的一些常量,例如:

MediaRecorder.AudioSource.MIC;

它没有看到 AudioSource,所以它也没有看到 MIC。我试过更改导入,清理项目。到目前为止没有任何效果。我通过将它导入到 Java class 中暂时解决了它,效果很好,然后我只是从我的 Kotlin 文件中引用我的 Java class,但是我真的很想知道为什么会发生这种情况以及如何避免 Java class.

我可以确认,访问 MediaRecorder.AudioSource.MIC 无效。但是,如果您手动导入 android.media.MediaRecorder.AudioSource,则可以访问 AudioSource.MIC.

我可以确认它在 Kotlin Beta 4 中有效,并且可能在旧版本中有效。

ContactsContract.Contacts._ID