Как открыть БД sqlite в onrestart () - PullRequest
0 голосов
/ 30 ноября 2011

Я обновляю домашний список, используя данные, полученные из БД. Когда я иду вперед, то возвращаюсь домой, он падает

Мой код здесь

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 () ..

Ответы [ 2 ]

0 голосов
/ 11 декабря 2013

Вы ничего не делаете между открытием и закрытием! как получилось ..

0 голосов
/ 30 ноября 2011

Почему вы закрываете базу данных сразу после notifydatachanged? Я думаю, что чтение базы данных происходит после закрытия. Попробуйте удалить строку и посмотреть, работает ли она.

DatabaseManager.getInstance(HomeActvity.this).open();
listAdapter.notifyDataSetChanged();

DatabaseManager.getInstance (HomeActvity.this) .closeDatabase ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...