我有一個ListActivity
從數據庫查詢中獲取其數據。我也有一個擴展簡單遊標適配器的自定義適配器。Android - 更新simpleCursorAdapter
要顯示自定義內容,我已經覆蓋了newView
和bindView方法。
視圖的每個元素有:
TextView
含有標題ImageView
含有分號碼 - 中所示的圖像被改變基於從數據庫- A按鈕而獲得的值 - 的單擊按鈕文本更改(Favorite/Make Favorite),並觸發數據庫更新事件。
我的問題是這樣的 - 當我滾動ListView
,改變我做似乎消失了..例如,第一項被標記爲最愛,而列表中滾動......當我回來了第一項,文本恢復到其以前的值,雖然內部數據庫已更新。
我讀到notifyDatasetChanged()
不適合這種情況,因爲適配器應該被通知數據庫的變化。我正在嘗試使用reQuery()
方法,但不知道將它放在哪裏。
我應該將reQuery()
放在按鈕的onClick
方法中嗎?如果不是,它應該放在哪裏?
感謝,是真正有用的,它幫我解決其他一些問題,但我仍然有同樣的問題,即適配器不知道的觀點已經改變。這就是我的代碼所做的,更改是數據庫更改 - 即視圖元素具有嵌入式按鈕,並且按鈕單擊會更改數據庫中的值。 關閉並重新打開活動顯示數據庫正確更新,但不是實時。 我的活動類擴展ListActivity – 2011-02-06 04:17:22