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