我對Android相當陌生,試圖通過模塊學習模塊是如何工作的。以下是我想要做的事情:實時更新SQLite數據庫時無法顯示來自光標的更新值
用收藏夾複選框顯示單詞(圖片)。如果用戶點擊它,則數據庫被更新並且數據庫表中的列存儲其值(1表示選中,0表示未選中)。我使用遊標來檢索單詞和收藏夾複選框的值。點擊最喜歡的圖像正確更新數據庫沒有任何問題。
我現在面臨的問題是:
除非我退出應用程序,並再次啓動它,光標不會取最近對數據庫所做的更改。爲了進一步解釋它,當我導航到下一個/上一個單詞時(使用屏幕底部的一個按鈕),檢索到的值不是最新的,即它看起來像光標仍舊具有舊的數據庫值,而不是更新的值。
我通過谷歌搜索,StackOverflow得到一個具體的解決方案,但它似乎我沒有使用正確的搜索條件。我知道這與更新光標有關,並且事實上查詢已折舊,但我又失去了方向。
[編輯]使用下面提到的方法來獲得光標:
public Cursor getWords() {
SQLiteDatabase db = getReadableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
String[] sqlSelect = {"_id", "word", "favourite"};
String sqlTables = "word_list";
qb.setTables(sqlTables);
Cursor c = qb.query(db, sqlSelect, null, null,
null, null, null);
c.moveToFirst();
return c;
}
此方法時,用戶點擊最喜愛的圖像上,以更新數據庫名爲:
public void setFavWord(int markFav, int wordPos) {
SQLiteDatabase db = getWritableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
ContentValues values = new ContentValues();
values.put("favourite", markFav);
db.update("word_list", values, "_id = " + wordPos, null);
}
我想如果你刷新頁面,它會工作,bez如果你退出應用程序它正在正常工作 – Sree
向sqlite插入數據後再次獲取數據更新光標和重新加載頁面。 –
@Sreekanth如何幫助?據我所知,這是處理舊數據集的光標。 – Paritosh