首页 > 解决方案 > 应用程序在尝试执行“+”运算符时不断崩溃

问题描述

我正在开发一个 Android 项目。在尝试为我的应用程序制作正负系统时,我的手机不断崩溃,要求我报告错误。我觉得这段代码很简单,在Android Studio中也没有显示任何错误,所以请看一下。我想尽快收到任何人的来信!

Button btnPlus = findViewById(R.id.btnPlus);
    btnPlus.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            final EditText input = findViewById(R.id.input);
            int number = Integer.parseInt((input.getText()).toString());
            number = number + 1;
            String full = getString(number);
            input.setText(full);
        }
    });

标签: android

解决方案


每次调用 onClick 时,您都会对输入的 EditText 进行膨胀,并且您正在尝试从中获取 null 的文本,因为您只是对其进行了膨胀,这就是为什么您无法从中解析或添加 Integer 的原因。

去做:

EditText input = findViewById(R.id.input); //inflated only once, earlier

Button btnPlus = findViewById(R.id.btnPlus);
btnPlus.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {         
        int number = Integer.parseInt((input.getText()).toString());
        number = number + 1;

        String full = getString(number);
        input.setText(full);
    }
});

推荐阅读