0

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()を試しました。

4

2 に答える 2

0

notifydatachangedの直後にデータベースを閉じるのはなぜですか?クローズ後にデータベースの読み取りが行われていると思います。行を削除して、機能しているかどうかを確認してください。

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

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

于 2011-11-30T05:12:04.300 に答える
0

開いている間と閉じている間は何もしていません。どうして..

于 2013-12-11T05:52:39.183 に答える