質問

DBから取得したデータを使用して、Home ListViewを更新しています。私が出てから家に戻ってきたとき、それはクラッシュします

私のコードはこちらです

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)

rononuithread()を試しました。

役に立ちましたか?

解決

NotifyDatachangedの直後にデータベースを閉じるのはなぜですか?近い後にデータベースの読み取りが起こっていると思います。ラインを削除して、それが機能しているかどうかを確認してください。

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

databasemanager.getInstance(homeactvity.this).closedatabase();

他のヒント

あなたはオープンとクローズの間で何もしていません!どうして..

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top