所以我試圖從一個SQLite數據庫的值到遊標,然後選擇一個隨機值。我可以像getString()一樣在該方法中讀取遊標,但是在它返回遊標之後,它無法正常工作。我不知道爲什麼.. 這裏是我從數據庫獲取遊標的方法。它似乎工作正常。Android光標問題
public Cursor getRandomText(String Rating)
{
Cursor cursor = myDatabase.query("Elec0RandTexts", new String[] {"Message"}, "Rating=?",
new String[]{Rating}, null, null, null);
cursor.moveToFirst();
cursor.close();
return cursor;
}
這裏是我的代碼,它返回後讀取光標。
Cursor result = dbh.getRandomText(Rating);
result.moveToFirst();
int RandText = rand.nextInt(result.getCount());
result.moveToPosition(RandText);
Toast.makeText(getApplicationContext(), "" + result.getString(RandText), Toast.LENGTH_LONG).show();
result.close();
我可能犯了一個愚蠢的錯誤,沒有意識到它,但我無法弄清楚這一點。
感謝,
〜Elec0
你不能在你要返回的光標上調用close(),然後使用它。刪除該行,並在完成後關閉一次。 – LeffelMania 2011-03-23 18:32:15