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()
}}