我的应用程序不断停止

问题描述 投票:0回答:1

我决定学习 Android 开发,过了一段时间,我开始创建第一个应用程序,它做了一些事情(即使创建过程只是 YouTube 课程的副本)。快速变化的技术很快就失去了与那些免费在线课程的相关性,所以我的应用程序无法运行,我不知道问题出在哪里以及如何解决。 我的应用程序是一个简单的计算器。当我决定尝试一下是否只有一个按钮可以工作时,应用程序在 AVD 中崩溃了。 我当前的Android Studio是Jellyfish 2023.3.1 这是代码:

package com.example.calculator

import android.os.Bundle
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContentView(R.layout.activity_main)
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
            val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
            insets

        }
        btn_0.setOnClickListener{setTextFields("0")}
    }
    val btn_0: TextView = findViewById(R.id.btn_0)

    var math_operation: TextView = findViewById(R.id.math_operation)
    fun setTextFields(str: String){
        math_operation.append(str)
    }
}

还有xml部分,测试的按钮在哪里

<LinearLayout
            android:layout_width="match_parent"
            android:layout_weight="1"
            android:layout_height="0dp"
            android:orientation="horizontal">
            <TextView
                style="@style/Number_Button"
                android:text="."
                android:id="@+id/btn_dot"
                />
            <TextView
                style="@style/Number_Button"
                android:text="0"
                android:id="@+id/btn_0"
                />
            <TextView
                style="@style/Action_Button"
                android:text="Back"
                android:id="@+id/btn_back"
                />
            <TextView
                style="@style/Action_Button"
                android:text="="
                android:id="@+id/btn_eq"
                />

        </LinearLayout>

    </LinearLayout>

</LinearLayout>

然后我搜了一些,来到Logcat,发现:

FATAL EXCEPTION: main Process: com.example.calculator, PID: 13069 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.calculator/com.example.calculator.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.pm.ApplicationInfo android.content.Context.getApplicationInfo()' on a null object reference
另外,如果您需要,还可以提供设计屏幕。在此处输入图像描述 请帮助pppp。

我在互联网上做了一些搜索,但不太明白该怎么做,只是在哪里可以找到错误描述

android-studio crash
1个回答
0
投票

通过实验,我发现,尝试在 math_operation_textview 中输出数字实验成功结束,只做了一点小小的改变: 'var math_operation: TextView = findViewById(R.id.math_operation)' 应位于 'fun setTextFields()' 内部,并且不应位于任何函数之外。我尝试在“onCreate()”内创建“open var math_operation”,但 Android Studio 不允许我这样做。另外,我已将“onCreate()”中的“var btn_0 ...”移至“btn_0.setOnClickListener()”上方,因为根据 Logcat,该行中发生了相同的错误。我将继续开发这个应用程序直到它起作用,并将与您分享我的结果

© www.soinside.com 2019 - 2024. All rights reserved.