java - Android 应用程序停止工作

标签 java android

我正在为类作业制作安卓计算器应用程序。当我先按加减号(+/-)键然后输入任何数字键时;我的应用程序停止工作。但是当我输入数字键然后按加减按钮时它工作正常。

else if (v.getId() == R.id.plusminus){
        Double newNumber = Double.parseDouble(textdisplay.getText().toString());
            total = newNumber * (-1);
            textdisplay.setText(total.toString());

        }

最佳答案

当您的应用程序崩溃时,您会在 logcat 中收到错误。如果您将这些与您的问题和相关代码一起发布,那将是最有帮助的。但是,这里我很确定这是一个解析/错误检查问题

When i press plusminus (+/-) key first and then input any numeric key; my application stops working

当您按下此键时,您并没有检查有效输入,因此它正在尝试解析空文本。您需要进行一些错误检查,例如 try/catch 来检查无效输入。有点像

else if (v.getId() == R.id.plusminus){
  try {
    Double newNumber = Double.parseDouble(textdisplay.getText().toString());
        total = newNumber * (-1);
        textdisplay.setText(total.toString());
  }
  catch (NumberFormatException e) {
     // maybe show some relevant message here with a Toast or something 
     // to let the user know invalid input was entered
  }

}

关于java - Android 应用程序停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22308564/

相关文章:

Android actionbar 如何为 Eclipse 添加支持库 v7 appcompat

Android: ScrollView 拉伸(stretch)背景图像

android - java.lang.NoClassDefFoundError : com. itextpdf.text.Document 错误

java - 使用SVN作为Spring Cloud Config服务器时出错

java - org.xml.sax.SAXParseException 文档中跟在根元素之后的标记必须格式正确

java - 更改 Eclipse 错误语言

java - Android java.lang.IllegalStateException,不在主线程

java - java中的百分比函数

java - Apache NetBeans 9.0 是否支持 java 11?

java - JWindow 总是在顶部没有获得焦点事件