首页 文章

Kotlin javaClass <>缺少最新Android Studio 3.0中的依赖项

提问于
浏览
2

Toolchain

  • Android Studio 3.0 Canary 2:

构建#AI-171.4041253,构建于2017年5月24日JRE:1.8.0_112-release-b736 x86_64 JVM:OpenJDK 64位服务器VM by JetBrains s.r.o Mac OS X 10.12.5

  • 谷歌SDK /工具:我已经下载了最新的“全部”(Android O,工具,库等,至少根据Android Studio SDK Manager) .

ProblemjavaClass<> 缺失,Android Studio无法"import it" .

What I did

这些是我添加到App Module的gradle文件中的行:

compile "android.arch.lifecycle:runtime:1.0.0-alpha1"
compile "android.arch.lifecycle:extensions:1.0.0-alpha1"
annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha1"    
compile "android.arch.persistence.room:runtime:1.0.0-alpha1"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha1"
  • 同一Gradle中的Kotlin引用是: compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" (我没有添加那个,自动出现)

  • 然后我创建了一个名为 MainViewModel 的简单Kotlin类:

import android.arch.lifecycle.ViewModel类MainViewModel:ViewModel(){}

它是用Java编写的,但是转换为Kotlin,我认为应该是这样的:

val mainViewModel = ViewModelProviders.of(this).get(javaClass<MainViewModel>)

问题是Android Studio没有找到javaClass,修复(按⌥⏎)没有做任何事情 .

Android Studio screen shot

我错过了什么?

1 回答

  • 4

    我决定尝试使用Java To Kotlin转换 . 所以我在Java中创建了一个新的Activity,并在java文档中写了上面的代码 .

    课程结束后,我在Android Studio中做了 Code -> Convert Java Class To Kotlin ,得到的Kotlin类有以下几行:

    val viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)

    这完全编译 . 我将不得不更多地了解哪一个是正确的,但是如果你像我一样对这门语言不熟悉,那么这个可以节省你一些时间 .

相关问题