为了账号安全,请及时绑定邮箱和手机立即绑定

简单的计数器应用程序在启动时崩溃而没有任何错误

简单的计数器应用程序在启动时崩溃而没有任何错误

四季花海 2022-05-12 15:16:09
背景 - 我今天早上才开始使用android studio,所以我像草一样绿。我正在尝试制作一个简单的 Counter 应用程序,在其中从总数中添加/减去一个,然后显示它。但由于某种原因,该应用程序只是在启动时崩溃。这是我的代码 - 还有几个 OnClickListener 方法我没有包括在内,但它们都是相同的代码。提前致谢。public class MainActivity extends AppCompatActivity {Button counter1Up, counter1Down, counter2Down, counter2Up;TextView counter1, counter2;double lifeTotal1 = 20, lifeTotal2 = 20;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    setUI();    counter1Up.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            lifeTotal1 = Double.parseDouble(counter1.getText().toString());            counter1.setText(String.valueOf(lifeTotal1 + 1));        }    });    counter2Up.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            lifeTotal2 = Double.parseDouble(counter2.getText().toString());            counter2.setText(String.valueOf(lifeTotal2 + 1));        }    });    counter1Down.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            lifeTotal1 = Double.parseDouble(counter1.getText().toString());            counter1.setText(String.valueOf(lifeTotal1 - 1));        }    });public void setUI(){    counter1Up = findViewById(R.id.counter2UpButton);    counter1Down = findViewById(R.id.Counter1DownButton);    counter2Up = findViewById(R.id.counter2UpButton);    counter2Down = findViewById(R.id.counter2DownButton);    counter1.setText("20");    counter2.setText("20");}}这就是事件日志显示的内容:1/19/20193:29 AM Gradle sync started3:29 AM Project setup started3:29 AM Gradle sync finished in 2 s 979 ms3:29 AM Syncing only active variant                You can disable this experimental feature from                File → Settings → Experimental → Gradle → Only sync the active variant
查看完整描述

2 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

欢迎来到 Android 开发的世界。

我不确定您是否已经介绍过调试 Android 应用程序,但在这种情况下,事件日志的输出可能无济于事。Google 确实提供了大量有关此主题的信息,您首先应该熟悉的是 Android 调试器及其在 Android Studio 中的输出视图。您可能想从这里开始学习:https ://developer.android.com/studio/debug/

关于您的问题,我认为您在方法NullPointerException的第 5 行中遇到了一个经典问题,您可以使用相同方法的第 1-4 行setUI()访问TextView变量counter1而不从布局中检索它。findViewById()


查看完整回答
反对 回复 2022-05-12
?
慕后森

TA贡献1802条经验 获得超5个赞

你还没有初始化你的文本视图 counter1 和 counter2。在调用它们的方法之前初始化这两个变量。



查看完整回答
反对 回复 2022-05-12
  • 2 回答
  • 0 关注
  • 118 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信