gpt4 book ai didi

java - 尽管没有任何改变,但简单的应用程序崩溃

转载 作者:行者123 更新时间:2023-12-03 07:51:42 25 4
gpt4 key购买 nike

我是 Java 和 Android Studio 的新手(各有 1 天的经验)。
我正在制作一个测试应用程序,你点击一个核桃,计数器每次都会增加一个,非常简单。该应用程序运行得非常好,但是,今天早上它停止正常运行,并且每当我尝试运行它时该应用程序就会停止。
我已经尝试了几件事,并将其缩小到一行和一个错误,但我不知道该怎么做。
我了解 NullPointerException 是什么,但我不知道在这种情况下如何修复它。由于我是 IDE 和语言的新手,因此也绝对欢迎对代码中的任何内容提出任何建议!
截至目前,该应用程序由 2 个类组成:
主 Activity .java :

package com.nut.calendar;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity{
//WIDGETS
ImageButton nutButton = findViewById(R.id.nutButton);
TextView nutNum = findViewById(R.id.nutsNum);


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

nutButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Variables.nutCount += 1;
nutNum.setText(String.valueOf(Variables.nutCount));
}
});
}

}
变量.java :
package com.nut.calendar;

public class Variables{
public static int nutCount = 0;
}
错误指向 'MainActivity.java' 中的第 12 行:
ImageButton nutButton = findViewById(R.id.nutButton);
Logcat 中的错误说:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.pm.ApplicationInfo android.content.Context.getApplicationInfo()' on a null object reference


我真的很感激任何输入!
这是整个堆栈跟踪:
Error

最佳答案

如果您查看 Android 应用程序 lifecycle您将了解为什么会出现此错误。当您启动应用程序时,Android 将运行 AppCompatActivity 中的方法以特定方式,您需要调用 findViewById之后 setContentView(R.layout.activity_main);因为它是 setContentView设置您的 viewsfindViewById需要设置它才能真正找到任何 view .

关于java - 尽管没有任何改变,但简单的应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65597710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com