0

我的MainActivity. 我初始化它,然后调用一个AsyncTask updateDatabaseTaskinonCreate()方法,如下所示:

db = databaseHelper.getWritableDatabase();
...
updateDatabaseTask  = new UpdateDatabaseTask();
updateDatabaseTask.execute();

updateDatabaseTask我在's方法中使用“db”doInBackground()如下:

Cursor c = db.query(...);

但是我收到此错误:

java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase

我们不应该在一开始就初始化一个数据库实例并能够在不同的任务、功能等中使用它吗?

4

1 回答 1

0

正如 Neaetmul 在上面的评论中指出的那样,我databaseHelper.close()onPause()of 中删除MainActivity并解决了问题。但是,我还没有弄清楚为什么这条线会导致这样的运行时错误,因为应用程序在我使用它时正在运行......

于 2013-06-02T09:07:48.773 回答