skip to Main Content

I dont want to save empty data in my Note App. I have tried Everything but when I leave Edittexts empty it still saves data into my data base.
what should I do?

this is my insertNote method

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;
        }

    }

and this is the method that saves my notes in my 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();
                }

            }
        });

i have also tried this but this is but this doesn’t work either

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);
                }



            }
        });

appreciate any help…

2

Answers


  1. You are using direct view edt_title.equals("") instead of this edt_title.getText().toString().And use trim() to eliminates leading and trailing spaces like this.
    edt_title.getText().toString().trim().
    After that check if value is empty or not TextUtils.isEmpty(string)
    Or use it combined way TextUitls.isEmpty(edt_title.getText().toString().trim())

    Login or Signup to reply.
  2. First check edittext are blank or not. Use trim() as well as @Umesh suggested.

     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);
                        }
        
        
        
                    }
                });
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search