所以我写的表单有两个字段,一个主体和一个标题。如果这些字段不包含数据以防止用户将其保存到数据库中,我希望获得表单以抛出Toast消息。代码应该做三件事之一。第一个是我正在努力完成的。第二种情况是,如果ID意图为空,它将创建一个新条目,并且如果ID意图包含内容,则它将使用新内容更新数据库条目。我遇到的问题是当表单字段为空时,它仍然保存。这似乎完全跳过我的第一次IF声明,我似乎无法弄清楚为什么。我试过对第一个IF语句同时使用null和“”,分别和一起使用。帮帮我?Android - 如何阻止表单保存null到我的数据库
submitBtn.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
String titleInsert = titleEdit.getText().toString();
String bodyInsert = bodyEdit.getText().toString();
String dateTimeValue = dateTimeTextView.getText().toString();
if ((titleInsert == null || titleInsert == "") || (bodyInsert == null || bodyInsert == "")){
Context context = getApplicationContext();
CharSequence text = "Please make sure the Title and Body are both filled before saving";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}else if(intentRowId == null){
try{
mDb.open();
mDb.createNote(Integer.parseInt(mIntentId), titleInsert, bodyInsert, dateTimeValue);
finish();
} catch (Exception e) {
e.printStackTrace();
}
} else {
try{
mDb.open();
mDb.updateNote(longRowId, titleInsert, bodyInsert);
finish();
} catch (Exception e){
e.printStackTrace();
Context context = getApplicationContext();
CharSequence text = "SQL Exception Thrown: " + e;
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
}
}
});
你肯定titleInsert其实空进入第一if语句是什么时候?我一直在挣扎,但我的错误是在调用者的一个类型转换错误。 – apesa 2011-03-22 16:33:22