2011-05-10 47 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