首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引起致命出口的火源之声:(java.lang.NullPointerException)

引起致命出口的火源之声:(java.lang.NullPointerException)
EN

Stack Overflow用户
提问于 2021-10-15 11:24:20
回答 2查看 244关注 0票数 0

从我创建这个项目的时候起,它就运行得非常好。但突然开始崩溃了。注册活动运作良好。但活动中的这一迹象正在崩溃。

调试器显示的错误。

代码语言:javascript
复制
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.durden, PID: 7921
    java.lang.NullPointerException
        at com.example.durden.activity.SignInActivity.onCreate$lambda-2(SignInActivity.kt:49)
        at com.example.durden.activity.SignInActivity.$r8$lambda$ZBrxDCm4vr69l-PuE690AA_KCF8(Unknown Source:0)
        at com.example.durden.activity.SignInActivity$$ExternalSyntheticLambda1.onClick(Unknown Source:4)
        at android.view.View.performClick(View.java:7125)
        at android.view.View.performClickInternal(View.java:7102)
        at android.view.View.access$3500(View.java:801)
        at android.view.View$PerformClick.run(View.java:27336)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

信号活性

代码语言:javascript
复制
class SignInActivity : AppCompatActivity() {

    // getting the references from firebase
    private var auth: FirebaseAuth? = null
    private var firebaseUser: FirebaseUser? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        // gets the view binding of sign_in_activity
        val binding = ActivitySignInBinding.inflate(layoutInflater)

        setContentView(binding.root)

        // ends this activity and goes to sign up page if needed
        binding.gotoSignUp.setOnClickListener {
            val intent = Intent(
                this@SignInActivity,
                SignUpActivity::class.java
            )
            startActivity(intent)
            finish()
        }

        binding.btnSignIn.setOnClickListener {

            // storing the entered email and password
            val email = binding.SImail.text.toString()
            val password = binding.SIpass.text.toString()

            // checks if the values are entered
            if (TextUtils.isEmpty(email) && TextUtils.isEmpty(password)) {
                Toast.makeText(applicationContext,"email and password are required", Toast.LENGTH_SHORT).show()
            }

            // signs in the user using firebase data
            else {
                auth!!.signInWithEmailAndPassword(email, password)
                    .addOnCompleteListener(this) {
                        if (it.isSuccessful) {
                            binding.SImail.setText("")
                            binding.SIpass.setText("")

                            // after sign in takes to user page
                            val intent = Intent(
                                this@SignInActivity,
                                UserActivity::class.java
                            )
                            startActivity(intent)
                            finish()
                        }
                        else {
                            Toast.makeText( applicationContext, "Invalid password or email", Toast.LENGTH_SHORT).show()
                        }
                    }
            }
        }

    }
}

导致Android致命异常的防火墙身份验证

这听起来很像我的问题,但我还是不明白为什么会这样。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-15 13:52:56

您从不初始化auth,这意味着在执行auth!!.signInWithEmailAndPassword(email, password)时会得到异常。

初始化auth,如第二步中所示,在onCreate中防止错误。

代码语言:javascript
复制
// Initialize Firebase Auth
auth = Firebase.auth

NullPointerException是非常常见的,所以我强烈建议您自己学习如何解决这些问题。为此,请查看:

票数 0
EN

Stack Overflow用户

发布于 2021-10-16 21:10:23

你把视图放大了两次,这是错误的:

代码语言:javascript
复制
val binding = ActivitySignInBinding.inflate(layoutInflater)
// setContentView(binding.root)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69583980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档