看板 AndroidDev 關於我們 聯絡資訊
我從資料庫撈資料出來, 回傳一個Cursor 丟進SimpleCursorAdapter, 再把這個SimpleCursorAdapter的物件丟進一個ListView, 之後做了某些動作想要增加ListView的Item或者刪除一個Item, 然後我想要及時更新畫面, 因此我使用adapter(這是SimpleCurrsorAdapter的物件) 裡面的notifyDataSetChanged方法, 可是會丟出UnsupportOperationException, google找尋出現UnsupportOperationException的原因, 可能出在送進SimpleCursorAdapter建構子裡面, http://developer.android.com/reference/android/widget/SimpleCursorAdapter.html 有兩個參數是String[] from, int[] to, 而這兩個參數是不可變動的陣列, 因此無法resize, 所以我想請問是否有什麼辦法讓SimpleCursorAdapter能夠自由add/remove? 可否寫個範例給小弟參考看看, 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.221.115.4
Wolfken:如果你有update db了,那不是cursor.requery就好了嗎? 10/25 16:00
givemepass:的確是樓上大大所講的解法 感謝您:) 10/25 16:15
tomap41017:那個,我的解法是在ContentProvider return cursor的 10/26 01:14
tomap41017:時候,就對cursor註冊content observer,這樣DB更新 10/26 01:14
tomap41017:也會即時反應在Adapter上,不需要自己寫requery 10/26 01:15