Как открыть sqlite db in onrestart ()
-
26-10-2019 - |
Вопрос
Я обновляю Home ListView, используя данные, полученные из DB. Когда я иду вперед, затем возвращается домой
Мой код здесь
protected void onRestart() {
super.onRestart();
Log.i(TAG, "onRestart called");
DatabaseManager.getInstance(HomeActvity.this).open();
listAdapter.notifyDataSetChanged();
DatabaseManager.getInstance(HomeActvity.this).closeDatabase();
}
Мой журнал:
11-28 19:07:22.606: E/AndroidRuntime(24303): java.lang.IllegalStateException: database not open
11-28 19:07:22.606: E/AndroidRuntime(24303): at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1224)
11-28 19:07:22.606: E/AndroidRuntime(24303): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1184)
11-28 19:07:22.606: E/AndroidRuntime(24303): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1264)
Я попробовал runonuithread () ..
Решение
Почему вы закрываете свою базу данных сразу после уведомления? Я думаю, что чтение базы данных происходит после закрытия. Попробуйте снять линию и посмотреть, работает ли она.
DatabaseManager.getInstance(HomeActvity.this).open();
listAdapter.notifyDataSetChanged();
DatabaseManager.getInstance (homeActVity.This) .closeTabase ();
Другие советы
Вы ничего не делаете между открытым и близким! почему..
Не связан с StackOverflow