使用适配器和asynctask时关闭光标的位置?

时间:2012-01-16 10:34:04

标签: android cursor android-asynctask adapter

我正在使用AsyncTask从数据库中检索一些信息。 因此,在doInBackground方法中,我编写了以下代码:

dbhandler = new DbHandler(TestActivity.this);
db = dbhandler.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT sys_id as _id,statuses,user,created_at FROM status ORDER BY sys_id desc", null);
Log.d(TAG, "cursor got count: " + cursor.getCount());
return cursor;

我在postExecute方法中使用此光标:

adapter = new TimelineAdapter(TestActivity.this, cursor);
listTimeline.setAdapter(adapter);
dbhandler.close();
Log.d(TAG, "Getting here ...");

现在的问题是:如果我保持原样,我在logcat中收到错误,说光标必须关闭。但是当我在cursor.close()方法中编写postExcecute()时,虽然我的光标有一个有限的计数,但我无法检索单个记录。

1 个答案:

答案 0 :(得分:0)

让活动通过调用startManagingCursor()来处理它。