繁体   English   中英

Android应用,请检查带有INTEGER的EditText是否为空

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM