[英]Android app, check if EditText with INTEGER is empty or not
我在尝试检查EditText是否为空时遇到问题。 我发现了很多解决方案,但所有解决方案都依赖于字符串变量。 我想检查0到10之间的Integer值是否为空。
这是我的代码:
int value = Integer.parseInt(instances.getText().toString());;
if (value > 10)
Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show();
else if (value < 0)
Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show();
else if (value >= 0 && value <= 10) {
schimba(v);
}
如果输入> 10的数字,则会得到敬酒,如果输入负数的数字,则保持不变。当输入0到10之间的数字时,该功能很好用,但是如果我让它为空,则会出错并需要创建条件,但是我找不到整数。
任何帮助都会很棒,在此先感谢您。
怎么样:
if (instances.getText().toString().lenght() > 0)
{
int value = Integer.parseInt(instances.getText().toString());;
if(value > 10)
Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show();
else
if(value<0)
Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show();
else
if(value >= 0 && value <=10)
{
schimba(v);
}
}
else
{
// HANDLE EMPTY VALUE HERE
}
您可以使用matches()
方法检查您的EditText
是否为空。
String stringValue = usernameEditText.getText().toString();
if (!stringValue.matches("")) {
int value = Integer.parseInt(stringValue);
if(value > 10)
Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show();
else if(value<0)
Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show();
else if(value >= 0 && value <=10) {
schimba(v);
}
}
String _data = instances.getText().toString().lenght()
if (_data > 0){
int value = Integer.parseInt(_data );;
if(value > 10)
Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show();
else if(value<0)
Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show();
else if(value >= 0 && value <=10)
{
schimba(v);
}
}else{
Toast.makeText(getApplicationContext(), "msg you want to display!", Toast.LENGTH_SHORT).show();
}
简化的示例代码
int value = instances.getText().toString()!=null && !instances.getText().toString().equals("") ? Integer.parseInt(instances.getText().toString()) : -1;
if (value < 0 || value > 10){
Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show();
}else{
schimba(v);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.