我不想在我的 Note App 中保存空資料。我已經嘗試了一切,但是當我將 Edittexts 留空時,它仍然會將資料保存到我的資料庫中。我該怎么辦?
這是我的 insertNote 方法
public boolean insertNote(Note note){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(KEY_TITLE,note.getTitle());
contentValues.put(KEY_DESCRIPTION,note.getDescription());
contentValues.put(KEY_TIME,note.getTime());
contentValues.put(KEY_DATE,note.getDate());
long insert = db.insert(NoteDataBase.TABLE_NAME, null, contentValues);
if (insert == -1){
return false;
}else {
return true;
}
}
這是將我的筆記保存在我的 AddNoteActivity 中的方法
btn_save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Note note = new Note();
note.setTitle(edt_title.getText().toString());
note.setDescription(edt_desc.getText().toString());
note.setDate(date);
note.setTime(time);
noteDBAdapter = new NoteDBAdapter(getApplicationContext());
boolean success = noteDBAdapter.insertNote(note);
if (success == true){
Snackbar.make(v, R.string.snack_note2,Snackbar.LENGTH_LONG).show();
}else {
Snackbar.make(v, R.string.snack_note,Snackbar.LENGTH_LONG).show();
}
}
});
我也試過這個,但這是但這也不起作用
btn_save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (edt_title.equals("") || edt_desc.equals("")){
Snackbar.make(v, R.string.snack_note2,Snackbar.LENGTH_LONG).show();
}else {
Note note = new Note();
note.setTitle(edt_title.getText().toString());
note.setDescription(edt_desc.getText().toString());
note.setDate(date);
note.setTime(time);
noteDBAdapter = new NoteDBAdapter(getApplicationContext());
noteDBAdapter.insertNote(note);
}
}
});
感謝任何幫助...
uj5u.com熱心網友回復:
首先檢查edittext是否為空白。使用 trim() 以及建議的@Umesh。
btn_save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (edt_title.getText().toString().trim().equals("") || edt_desc.getText().toString().trim().equals("")){
Snackbar.make(v, R.string.snack_note2,Snackbar.LENGTH_LONG).show();
} else {
Note note = new Note();
note.setTitle(edt_title.getText().toString());
note.setDescription(edt_desc.getText().toString());
note.setDate(date);
note.setTime(time);
noteDBAdapter = new NoteDBAdapter(getApplicationContext());
noteDBAdapter.insertNote(note);
}
}
});
uj5u.com熱心網友回復:
您正在使用直接視圖edt_title.equals("")而不是這個edt_title.getText().toString()。并使用 trim() 來消除這樣的前導和尾隨空格。
edt_title.getText().toString().trim().
之后檢查值是否為空或TextUtils.isEmpty(string)
以組合方式使用TextUitls.isEmpty(edt_title.getText().toString().trim())
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/477362.html
