gpt4 book ai didi

java - 当未输入任何内容并按下按钮时 Android 应用程序崩溃

转载 作者:太空宇宙 更新时间:2023-11-04 14:57:28 25 4
gpt4 key购买 nike

您好,我正在开发 Android 应用程序,想寻求一些帮助:用户在 editText 上输入数字,然后按下/单击按钮以在答案字段文本中显示转换。

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

谁能帮我把它写成代码:

如果 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();//editText 为红色 if (!myStrisEmpty())//(!myStrisEmpty()) 为红色

我已经花了几个小时和几天的时间来完成这项任务。只需制作一个应用程序,用户输入一个数字,然后单击按钮来转换该数字并将其显示在下面的 TextView 答案中。如果我不输入任何内容并单击按钮,应用程序就会崩溃。我想要一条 toast 消息,而不是崩溃时说“请输入数字”

最佳答案

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

更改这些行:

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

EditText editText = (EditText)findViewById(R.id.editText);
Double num1 = 0.0;
final String myStr = editText.getText().toString();
if (!myStr.isEmpty())
{
num1 = Double.parseDouble(myStr);
}
else
{
Toast.makeText(getApplicationContext(), getResources().getString(R.string.noinput),
Toast.LENGTH_LONG).show();
}

您可以用硬编码字符串替换 getResources().getString(R.string.noinput) (将其设置在 /values/strings.xml 文件夹中)(但这不是一个好的做法) ,例如“您没有输入任何值”

还有这个:

answer.setText(ans.toString());

应该是:

answer.setText("" + ans);

关于java - 当未输入任何内容并按下按钮时 Android 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23029262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com