[問題] SimpleListAdapter addItem removeItem

看板AndroidDev作者 (〆)時間13年前 (2011/10/25 15:38), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
我從資料庫撈資料出來, 回傳一個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

10/25 16:00, , 1F
如果你有update db了,那不是cursor.requery就好了嗎?
10/25 16:00, 1F

10/25 16:15, , 2F
的確是樓上大大所講的解法 感謝您:)
10/25 16:15, 2F

10/26 01:14, , 3F
那個,我的解法是在ContentProvider return cursor的
10/26 01:14, 3F

10/26 01:14, , 4F
時候,就對cursor註冊content observer,這樣DB更新
10/26 01:14, 4F

10/26 01:15, , 5F
也會即時反應在Adapter上,不需要自己寫requery
10/26 01:15, 5F
文章代碼(AID): #1EfcU4P9 (AndroidDev)
文章代碼(AID): #1EfcU4P9 (AndroidDev)