2012-01-16 63 views
1

我正在使用AsyncTask從數據庫中檢索一些信息。 因此,doInBackground方法內,我寫入以下代碼:使用適配器和asynctask時,關閉光標的位置?

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中得到一個錯誤,說光標必須關閉。但是,當我在postExcecute()方法中編寫cursor.close()時,雖然我的遊標具有有限的計數,但我無法檢索單個記錄。

回答

0

讓活動處理它,通過調用startManagingCursor()