在Android Studio中使用Kotlin时出现未解决的引用currentThread().wait()问题

3

我与这里提出的问题相同。我想应用被接受的答案。但是,由于IDE在以下行中指出:

 Thread.currentThread().wait();

“wait”是一个未解决的引用。我在Android Studio中使用Kotlin,可能是Kotlin插件引起了该问题。在首选项的插件部分中,我安装了1.0.6-release-Studio2.2-1版本的Kotlin。而在项目的build.gradle文件中:
buildscript {
ext.kotlin_version = '1.0.6'
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.2.3'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath "io.realm:realm-gradle-plugin:2.3.0"

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

如果我将kotlin_version更改为1.0.6-release-Studio2.2-1,IDE会指出“用于与Gradle一起构建的Kotlin版本(1.0.6-release-Studio2.2-1)与IDE插件捆绑的版本(1.0.6)不同。”我的第一个问题是如何处理未解决的引用错误。第二个问题是:是否有其他/更好的方法来强制IntentService等待DownloadManager完成其下载并调用onReceive(),如问题所述。
1个回答

7
请查看https://kotlinlang.org/docs/reference/java-interop.html页面中部分内容:

《Effective Java》第69条建议使用并发工具而不是wait()和notify()。因此,这些方法在类型为Any的引用上不可用。如果确实需要调用它们,可以将其转换为java.lang.Object(foo as java.lang.Object).wait()


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接