检查EditText是否为空

时间:2014-01-08 08:58:31

标签: android if-statement android-edittext

我只是想检查EditText是否为空......
我有:

EditText a, b, c;
double A, B, C;

还有:

a = (EditText) findViewById(R.id.a);
b = (EditText) findViewById(R.id.b);
c = (EditText) findViewById(R.id.c);

当然:

if (a.getText().length() == 0)
    Toast.makeText(this, "Ax^2 Cannot Be Empty!", Toast.LENGTH_LONG).show();
else {
    A = Double.parseDouble(a.getText().toString());

    if (b.getText().length() == 0)
        B = 0;
    else
        B = Double.parseDouble(b.getText().toString());

    if (c.getText().length() == 0)
        C = 0;
    else
        C = Double.parseDouble(c.getText().toString());

    Intent act = new Intent(this, PopupResult.class);
    act.putExtra("A", A);
    act.putExtra("B", B);
    act.putExtra("C", C);
    startActivity(act);
}

这真的很奇怪,因为第一个ifa的那个)工作。
请帮忙!

如果第一个EditText为空,那么有一个Toast,就像我想要的那样。但如果第二个或第三个EditText为空,则应用程序崩溃 如果字段为空,我想将BC设置为0.

5 个答案:

答案 0 :(得分:3)

您应该使用toString()功能。另外,要避免两端的空格,请使用b.getText().toString().trim()

if (b.getText().toString().length() <= 0)
    B = 0;
else
    B = Double.parseDouble(b.getText().toString());

答案 1 :(得分:1)

尝试以下代码检查空EditText

if(TextUtils.isEmpty(b.getText().toString.trim())
 {
      B = 0;
  }else
   {
      B = Double.parseDouble(b.getText().toString());
  }

  if (TextUtils.isEmpty(c.getText().toString.trim())
    C = 0;
  else
    C = Double.parseDouble(c.getText().toString());

答案 2 :(得分:1)

EditText .getText()方法返回可编辑对象,尝试使用getText().toString().length()

答案 3 :(得分:0)

使用以下代码

if(a.getText().toString().equalsIgnoreCase(""){
//your comment
}
if(b.getText().toString().equalsIgnoreCase(""){
//your comment
}
if(c.getText().toString().equalsIgnoreCase(""){
//your comment
}

答案 4 :(得分:0)

您可以使用

if(TextUtils.isEmpty(b.getText())

public static boolean isEmpty (CharSequence str)

Added in API level 1
Returns true if the string is null or 0-length.

Parameters
str the string to be examined
Returns
true if str is null or zero length

所以你可以这样做

if (TextUtils.isEmpty(a.getText().toString()) // return true if length is 0 or null
{
     Toast.makeText(this, "Ax^2 Cannot Be Empty!", Toast.LENGTH_LONG).show();
}
else 
{
      A = Double.parseDouble(a.getText().toString());
}