如果表单为空,Android应用程序将关闭-需要验证表单
我有一个将公里/小时转换为英里/小时的应用程序。 如果表单为空并按convert按钮,应用程序将简单关闭。 我知道如果表单为空,我需要一个有效的函数,并显示一条消息,告知用户表单不能为空,但我找不到解决问题的代码 我的onClick代码是:如果表单为空,Android应用程序将关闭-需要验证表单,android,forms,validation,validating,validating-event,Android,Forms,Validation,Validating,Validating Event,我有一个将公里/小时转换为英里/小时的应用程序。 如果表单为空并按convert按钮,应用程序将简单关闭。 我知道如果表单为空,我需要一个有效的函数,并显示一条消息,告知用户表单不能为空,但我找不到解决问题的代码 我的onClick代码是: buttonConverter.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) {
buttonConverter.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
double Value1 = Double.valueOf(txtKmhUser.getText().toString());
double Value2 = Value1 / 1.60;
Result.setText(String.valueOf(Value2));
}
});
只需在转换之前进行验证
buttonConverter.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String str=txtQuilometros.getText().toString();
if(str.length()>0)
{
double Value1 = Double.valueOf(str);
double Value2 = Value1 / 1.60;
Result.setText(String.valueOf(Value2));
}
}
});
在转换编辑文本之前,请检查其值是否为空
if(!value1.equals(null))
如果
EditText
为空,则可以显示祝酒词
@Override
public void onClick(View arg0) {
String yourString = txtKmhUser.getText().toString();
if(!yourString.equals("")){
double Value1 = Double.valueOf(yourString);
double Value2 = Value1 / 1.60;
Result.setText(String.valueOf(Value2));
}else{
Toast.makeText(this, "Form can not be blank", Toast.LENGTH_SHORT).show();
}
}
应用程序崩溃的原因是Double.valueOf(“”)引发数字格式异常。因此,您需要在处理前验证表单,或者对异常使用try/catch
buttonConverter.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if(txtQuilometros.getText().toString().length() > 0) {
double Value1 = Double.valueOf(txtQuilometros.getText().toString());
double Value2 = Value1 / 1.60;
Result.setText(String.valueOf(Value2));
} else {
txtQuilometros.setError("Please enter a value");
}
});
您需要检查EditText是否为空。因为“!=0.忘记了知道的零钱,但忘记了。。。这改变了。。感谢提醒,请引用作者的话:“显示一条消息,告知用户表单不能为空”非常感谢Adam W。我理解“如果”逻辑和错误,在您的帮助下,我的应用程序在这种情况下关闭,请再试一次。表单中会出现一个警报,应用程序只需关闭即可停止。稍后,我在Marcus的帮助下混合使用setError命令,并使用Toast消息。应用程序变得完美!对不起,我的英语不好。你应该接受其中一个答案。编码快乐。非常感谢你,马库斯。我将您的toast方法与Adam W answer混合使用,为用户提供了两个提醒。事实上,一个简短的警报和一个表单焦点。对不起,我的英语不好