【问题标题】:App crashes when EditText is Empty or null - how to solve it当 EditText 为 Empty 或 null 时应用程序崩溃 - 如何解决它
【发布时间】:2021-09-01 09:38:48
【问题描述】:
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button = findViewById(R.id.button);
    textView4 = findViewById(R.id.textView4);
    editTextNumberDecimal2 = findViewById(R.id.editTextNumberDecimal2);
    editTextNumberDecimal3 = findViewById(R.id.editTextNumberDecimal3);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String s = editTextNumberDecimal2.getText().toString();
            int kg = Integer.parseInt(s);
            double pound = kg;
            String k = editTextNumberDecimal3.getText().toString();
            int cms = Integer.parseInt(k);
            double ft = cms;
            double bmi = (pound / ft / ft) * 10000;

            if (bmi < 18.5) {
                textView4.setText("Thin - Eat something");
            }
            else if (bmi < 25) {
                textView4.setText("Fit - Keep it up");
            }
            else if (bmi < 30) {
                textView4.setText("Fat - Go on a diet");
            }
            else {
                textView4.setText("Very fat - Stop eating");
            }
        }
    });
}

} ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ......................忽略这些点...................... ..................................................... ......................................

【问题讨论】:

  • 查看错误日志..在 google 上搜索错误...并阅读错误“我们何时以及为什么收到该错误?..eg- nullPointerException 在您的情况下可能..跨度>

标签: java android android-studio apk


【解决方案1】:

您不能将空字符串解析为整数。所以先检查它是否为空。

public void onClick(View v) {
    String s = editTextNumberDecimal2.getText().toString();
    if(s.isEmpty()) return;
    int kg = Integer.parseInt(s);
    double pound = kg;
    String k = editTextNumberDecimal3.getText().toString();
    if(k.isEmpty()) return;
    int cms = Integer.parseInt(k);
    // ...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    相关资源
    最近更新 更多