android notifyDataSetChanged 無效的解決方案

假定你的數據集合體爲data,如果有新的數據加入或需要把舊數據全部更換,應採用追加的方式,保留data的原引用

  1. 如data是個ArrayList,應使用add或先clear再addALL

  2. 否則你用data = 一個新的數據集合體,這時調用notifyDataSetChanged 是無效的

之所以這樣做是因爲adapter初始化時就綁定了數據集合的地址,所以adapter只關心原地址所指向的數據有沒有改變,只有原地址所指向的數據發生變化,調用notifyDataSetChanged 纔有效。

第二種做法顯然讓data 的引用指向了一個新的引用,原地址的數據並沒有發生變化

轉至http://ningtukun.blog.163.com/blog/static/18654144520142725053404/
對作者表示感謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章