0

我正在使用從數據庫中檢索的數據更新首頁列表視圖。當我出去再復出首頁崩潰如何在onrestart中打開sqlite數據庫()

我的代碼是在這裏

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

+0

你確定關閉了數據庫onStop嗎? –

+0

是的,我關了它 –

+1

顯示你的整個活動代碼.. – user370305

回答

0

你爲什麼在notifydatachanged後關閉你的數據庫?我認爲數據庫閱讀在結束後發生。嘗試刪除線路,看看它是否工作。

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

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

+0

這不是工作夥計.. :( –

+0

沒有看更多的代碼,這是我最好的猜測。爲什麼你不發佈你的listAdapter代碼。 –

0

你在打開和關閉之間什麼都沒做!怎麼來..