Android 赋值不是表达式,在此上下文中只允许表达式。我知道它已经讨论过了,但没有';丁字裤

Android 赋值不是表达式,在此上下文中只允许表达式。我知道它已经讨论过了,但没有';丁字裤,android,kotlin,android-studio-3.4,Android,Kotlin,Android Studio 3.4,赋值不是表达式,在这个上下文中只允许表达式。我不知道如何解决这个问题 private fun uploadImageToFirebaswStorage(){ if (selectedphotoUri = null) return val filename = UUID.randomUUID().toString() val ref = FirebaseStorage.getInstance().getReference("/images/$filename")

赋值不是表达式,在这个上下文中只允许表达式。我不知道如何解决这个问题

private  fun uploadImageToFirebaswStorage(){
    if (selectedphotoUri = null) return
    val filename = UUID.randomUUID().toString()
     val ref = FirebaseStorage.getInstance().getReference("/images/$filename")

    ref.putFile(selectedphotoUri!!)
        .addOnSuccessListener {
            Log.d("Register","Successfully uploaded image: ${it.metadata?.path}")}

selectedphotoUri=null
是一个赋值。最有可能的情况是,您想要
selectedphotoUri==null
(两个等号),这是相等表达式。

假设您想要执行Commonware指出的相等检查,另一个选项是使用公共

val值=

价值?让我们{ …//如果不为null,则执行此块}

private  fun uploadImageToFirebaswStorage(){
    selectedphotoUri?.let {
        val filename = UUID.randomUUID().toString()
        val ref = FirebaseStorage.getInstance().getReference("/images/$filename")    
        ref.putFile(selectedphotoUri!!)
          .addOnSuccessListener {
              Log.d("Register","Successfully uploaded image: ${it.metadata?.path}")
          }
     }
}