2011-05-10 48 views
1

我已经编写了下面的代码来验证字符串中的值,然后将其保存到数据库中。不验证为空值的代码

EditText editText2 = (EditText) this.findViewById(R.id.editText1); 
      setTime = editText2.getText().toString(); 

      Log.d(setTime, "This is the setTime value"); 

      if(setTime == null) 
      { 
       Toast.makeText(Settings.this, "Time cannot be NULL", Toast.LENGTH_LONG).show(); 
      } 

      else if(setTime != null) 
      { 
       cv.put(DatabaseHelper.TIME, setTime); 
       db.insert("finalP", DatabaseHelper.TIME, cv); 
       db.close(); 

       editText2.setText(""); 

       Toast.makeText(Settings.this, "Time saved", Toast.LENGTH_LONG).show(); 
      } 

但是,即使“时刻设定”包含空值,“如果”的部分是让跳过,直接控制进入“其他”的一部分,并保存在数据库中的空值。

这不是验证的正确方法吗?

回答

1

我认为你的字符串是空的不为空。因此,添加检查字符串的长度也是如果子句。

EditText editText2 = (EditText) this.findViewById(R.id.editText1); 
setTime = editText2.getText().toString(); 

Log.d(setTime, "This is the setTime value"); 

if(setTime == null || setTime.length() == 0) { 
    Toast.makeText(Settings.this, "Time cannot be NULL", Toast.LENGTH_LONG).show(); 
} else { 
    cv.put(DatabaseHelper.TIME, setTime); 
    db.insert("finalP", DatabaseHelper.TIME, cv); 
    db.close(); 

    editText2.setText(""); 

    Toast.makeText(Settings.this, "Time saved", Toast.LENGTH_LONG).show(); 
} 
+0

OKAY正在工作...感谢:D – 2011-05-10 19:07:19