Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 非解析引用_Android_Kotlin - Fatal编程技术网

Android 非解析引用

Android 非解析引用,android,kotlin,Android,Kotlin,在这方面我是新手,我使用了一个教程作为指导,我从教程中复制了所有正确的内容,但是当我想运行应用程序时,我无法运行,因为出现了以下警告: Unresolved reference: isSuccesful Unresolved reference: result Unresolved reference: isSuccesful Unresolved reference: result Unresolved reference: FirebaseAuth 这是我的代码: package com.

在这方面我是新手,我使用了一个教程作为指导,我从教程中复制了所有正确的内容,但是当我想运行应用程序时,我无法运行,因为出现了以下警告:

Unresolved reference: isSuccesful
Unresolved reference: result
Unresolved reference: isSuccesful
Unresolved reference: result
Unresolved reference: FirebaseAuth
这是我的代码:

package com.mpdw55.medic_app

import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.auth.FirebaseUser
import kotlinx.android.synthetic.main.activity_auth.*



class AuthActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {

    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_auth)

    // Analytics Event
    val analytics:FirebaseAnalytics = FirebaseAnalytics.getInstance(this)
    val bundle = Bundle()
    bundle.putString("message", "Integracón de Firebase completa")
    analytics.logEvent("Initscreen", bundle)

    //setup
    setup()
}

private fun setup(){

    title = "Autenticación"

    signUpButton.setOnClickListener {
        if (emailEditTest.text.isNotEmpty() && passwordEditText.text.isNotEmpty()) {

            FirebaseAuth.getInstance()
                .createUserWithEmailAndPassword(emailEditTest.text.toString(),
                    passwordEditText.text.toString()).addOnCompleteListener {}

            if (it.isSuccesful) {
                showHome(it.result?.user?.email?:"", ProviderType.BASIC)

            } else {
                showAlert()

            }

        }
    }

       logInButton.setOnClickListener {
           if (emailEditTest.text.isNotEmpty() && passwordEditText.text.isNotEmpty()) {

               FirebaseAuth.getInstance()
                   .signInWithEmailAndPassword(emailEditTest.text.toString(),
                       passwordEditText.text.toString()).addOnCompleteListener {}

               if (it.isSuccesful) {
                   showHome(it.result?.user?.email?:"", ProviderType.BASIC)

               } else {
                   showAlert()

               }

           }
       }

}

private fun showAlert() {

    val builder = AlertDialog.Builder(this)
    builder.setTitle("Error")
    builder.setMessage("Se ha producido un error autenticando al ususario")
    builder.setPositiveButton("Aceptar", null)
    val dialog: AlertDialog = builder.create()
    dialog.show()
}

private fun showHome(email: String, provider: ProviderType){

    val homeIntent = Intent(this, HomeActivity::class.java).apply {
        putExtra("email", email)
        putExtra("provider", provider.name)
    }
    startActivity(homeIntent)

}
我的build.gradle(:app)


有人能帮我吗?

你应该试着把if(it.isSuccesfull){}else{}放在.addOnCompleteListener的括号之间。结果应该是

FirebaseAuth.getInstance()
            .createUserWithEmailAndPassword(emailEditTest.text.toString(),
                passwordEditText.text.toString()).addOnCompleteListener {

       if (it.isSuccesful) {
            showHome(it.result?.user?.email?:"", ProviderType.BASIC)

        } else {
            showAlert()

        } }
这一错误应该得到解决。你也应该在唱歌时做同样的事情

logInButton.setOnClickListener {
       if (emailEditTest.text.isNotEmpty() && passwordEditText.text.isNotEmpty()) {

           FirebaseAuth.getInstance()
               .signInWithEmailAndPassword(emailEditTest.text.toString(),
                   passwordEditText.text.toString()).addOnCompleteListener {

           if (it.isSuccesful) {
               showHome(it.result?.user?.email?:"", ProviderType.BASIC)

           } else {
               showAlert()

           }}

为什么要在
addOnCompleteListener{
之后立即用括号括起来?我想这就是错误所在。你在括号内的if/else之前用括号括起来。谢谢你的评论,我已经更改了括号的位置,但警告仍然出现,警告仍然出现
logInButton.setOnClickListener {
       if (emailEditTest.text.isNotEmpty() && passwordEditText.text.isNotEmpty()) {

           FirebaseAuth.getInstance()
               .signInWithEmailAndPassword(emailEditTest.text.toString(),
                   passwordEditText.text.toString()).addOnCompleteListener {

           if (it.isSuccesful) {
               showHome(it.result?.user?.email?:"", ProviderType.BASIC)

           } else {
               showAlert()

           }}