SQLite Получение старых данных - PullRequest
0 голосов
/ 29 апреля 2020

EditActivity:

@Override
protected void onDestroy() {
    super.onDestroy();
    String title = mNote.getTitle().trim();
    String inputTitle = titleET.getText().toString().trim();
    if (!inputTitle.equals(title)) {
        //Update DB Title
        DatabaseHelper db = new DatabaseHelper(getApplicationContext());
        db.updateTitle(mNoteID, inputTitle);
    }
}

Если пользователь редактирует заголовок и нажмите назад (Goa MainActivity) , я редактирую запись.

MainActivity:

@Override
protected void onStart() {
    super.onStart();
    getDataFromDB();
    setNotes();
}

Я снова получаю данные, но получаю старые данные.

Когда я получаю данные с некоторой задержкой:

new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            getDataFromDB();
            setNotes();
        }
    }, 500);

Работает , Но почему я не могу получить реальные данные напрямую?

// Редактировать

Вот моя функция updateTitle:

public boolean updateTitle(long id, String title){
    String clause = "id="+id;
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues value = new ContentValues();
    value.put(DBConstants.T1_TITLE, title);
    int status = db.update(DBConstants.T1_NAME, value, clause, null);
    db.close();
    return status > 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...