2017-11-25 92 views
-1

我不能同步我的项目,因为这样的:科特林-的Android空不能转换到非空型kotlin.String

Caused by: kotlin.TypeCastException: null cannot be cast to non-null type kotlin.String 
    at org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapperKt.loadKotlinVersionFromResource(KotlinPluginWrapper.kt:89) 
    at org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapperKt.access$loadKotlinVersionFromResource(KotlinPluginWrapper.kt:1) 
    at org.jetbrains.kotlin.gradle.plugin.KotlinBasePluginWrapper.<init>(KotlinPluginWrapper.kt:39) 
    at org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper.<init>(KotlinPluginWrapper.kt:70) 
    at org.gradle.api.internal.DependencyInjectingInstantiator.newInstance(DependencyInjectingInstantiator.java:81) 
    at org.gradle.api.internal.plugins.DefaultPluginManager.instantiatePlugin(DefaultPluginManager.java:72) 
    ... 126 more 

这事我更新了科特林插件1.1.61

回答

-2

这个问题可能出自一些java代码,它被错误地移植到kotlin:由于javas对象默认是可空的,所以你必须在kotlin中将它们视为可空对象:如果你希望你的代码行为与java代码,只需在每个变量后添加双重感叹号(“!!”)即可。如果变量为null,则会产生空指针异常。 例如不是

view = findViewById(R.id.id) 
view.setOnClickListener(...) 

因此

view = findViewById(R.id.id) 
view!!.setOnClickListener(...) 
+0

你看了日志? –