Java 安卓应用程序在未输入任何内容且按下按钮时崩溃

Java 安卓应用程序在未输入任何内容且按下按钮时崩溃,java,android,if-statement,crash,Java,Android,If Statement,Crash,您好,我正在开发Android应用程序,希望获得一些帮助: 用户在编辑文本上输入一个数字,然后按下/单击按钮以在应答字段文本中显示转换 不幸的是,如果没有输入任何内容,用户单击按钮,应用程序就会崩溃 谁能帮我把它写成代码: 如果editText为空且单击按钮,则在回答文本字段中显示0.00 或者,如果editText为空且按下按钮,则显示toast消息 ? 如果有人能理解我所说的,并能提供帮助,我将不胜感激,因为我希望在发布之前为用户改进我的应用程序- 我的更新代码: EditText

您好,我正在开发Android应用程序,希望获得一些帮助: 用户在编辑文本上输入一个数字,然后按下/单击按钮以在应答字段文本中显示转换

不幸的是,如果没有输入任何内容,用户单击按钮,应用程序就会崩溃

谁能帮我把它写成代码:

如果editText为空且单击按钮,则在回答文本字段中显示0.00

或者,如果editText为空且按下按钮,则显示toast消息

?

如果有人能理解我所说的,并能提供帮助,我将不胜感激,因为我希望在发布之前为用户改进我的应用程序-

我的更新代码:

    EditText editText = (EditText)findViewById(R.id.editText);
Double num1 = 0.0;
final String myStr = editText.getText().toString();
if (!myStrisEmpty())
{
    num1 = Double.parseDouble(myStr);
}
else
{
    Toast.makeText(getApplicationContext(), getResources().getString(R.string.noinput),
        Toast.LENGTH_LONG).show();
}
问题是: 最后一个字符串myStr=editText.getText.toString//编辑文本是红色的 如果myStrisEmpty/!我的衣服是红色的


为了完成这项任务,我已经努力了好几个小时好几天了。只需制作一个应用程序,用户输入一个数字,然后单击按钮将数字转换并在下面显示为文本视图答案。如果我没有输入任何内容并单击按钮,应用程序将崩溃。我想要一条toast消息,而不是突然出现的说“请输入一个数字”

您正在尝试将空字符串转换为数字的消息。 您应该做的是检查字符串是否为空:

更改这些行:

EditText editText = (EditText) findViewById(R.id.editText);
Double num1 = Double.parseDouble(editText.getText().toString());

您可以用硬编码字符串替换/values/strings.xml文件夹中的getResources.getStringR.string.noinput,但这不是一个好做法,就像您没有输入任何值一样

这是:

answer.setText(ans.toString());
应该是:

answer.setText("" + ans);

如果我理解你的话,你想要达到的是:

String input = editText.getText().toString();
    if (input.isEmpty())
        textView.setText("0.00");
    else{
    // do whatever conversions
        textView.setText(result);
   }

我认为这是因为您正在对原语调用toString方法。试试这个:

替换:

answer.setText(ans.toString());
与:


当编辑文本为空时,这是否为空指针异常?我确信这是您的问题。。你应该有一个条件来检查编辑文本是否为空。如果为空,那么你可以通过向用户显示toast来处理它。我正在尝试,但它仍然会使任何想法崩溃。很抱歉,我缺乏技巧。…ifeditText.length==0{toast.makeTextActivity2。这,请输入Weight,toast.length\u LONG.show;}您应该发布日志的内容,只是尝试发出一条消息,如果字段为空,按下按钮使其不会崩溃,并说请输入weight-ifeditText.length==0{Toast.makeTextActivity2.this,请输入weight,Toast.length\u LONG.show;}ifeditText.length==0是错误的。阅读我的代码:你必须从你的editText中获取文本。我称之为edt,文本为myStr。我不知道抱歉,更新了我的问题,如果它有帮助的话,并感谢你花时间和善意帮助我改进我的应用程序。我尝试了它,但仍然成功!我的空白是重写给我的错误。有没有一种更简单的方法可以让我编写这样的代码:toast或验证消息,如果用户没有输入任何数字并按下按钮,将显示一条消息,说“错误,请输入一个数字或类似的内容/抱歉占用您的时间和我的理解不足,也许我需要更多的睡眠或更多的咖啡lol谢谢你的帮助{//单击按钮时执行操作EditText EditText=EditTextfindViewByIdR.id.EditText;Double num1=Double.parseDoubleeditText.getText.toString;Double ans=num1*2.20462;TextView answer=TextView findViewByIdR.id.answertxt;answer.SettXtans.toString;if EditText.isEmptyanswer.setText0.00;}由于我的声誉,我不能对这个话题发表评论,所以我将把它留在这里。尝试使用myStr.IsEmpty方法或StringUtils.isemptymystry你或多或少走在了正确的道路上,感谢你的好意和帮助,不幸的是,我仍然没有工作。我想我可能会睡上几天,好几个小时。。。
answer.setText(ans.toString());
answer.setText(String.valueOf(ans));