Recyclerview上拉、下拉刷新以及遇到的問題
上一篇寫到recyclerview功能的強(qiáng)大以及能實(shí)現(xiàn)的各種列表式的數(shù)據(jù)流,那伴隨而來的就會(huì)出現(xiàn)數(shù)據(jù)量過大,一次性加載卡頓以及可能會(huì)出現(xiàn)的apk崩潰的現(xiàn)象,所以我們需要后臺(tái)將數(shù)據(jù)進(jìn)行分頁顯示以便于我們加載數(shù)據(jù)不會(huì)出現(xiàn)差錯(cuò),所以出現(xiàn)需要下拉刷新加載數(shù)據(jù),以及上拉數(shù)據(jù)進(jìn)行刷新數(shù)據(jù)源,這樣的情況我們會(huì)在新聞?lì)?/span>app中看到,比如像今日頭條它的上拉刷新定義了一次下拉,刷新20條新的數(shù)據(jù)來顯示,這樣也保證了數(shù)據(jù)的實(shí)時(shí)性和新鮮感。并且由于下拉或者上拉刷新會(huì)需要時(shí)間來刷新數(shù)據(jù),所以就有了更多的自定義的加載頭部和底部,也為了自己這個(gè)app做出了一些不同地方,類似于嗶哩嗶哩這個(gè)APP,它的加載就用了B站自己的人物去做出了自己的獨(dú)到之處,讓人更過目難忘。
![]() |
但是由此伴隨而來的會(huì)出現(xiàn)一些問題,比如adapter的notifiDataChanged()的方法,會(huì)出現(xiàn)UI布局不更新,數(shù)據(jù)的確更新了,但是布局卻沒有變化,我在網(wǎng)上有看到別人的錯(cuò)出現(xiàn)在它的list的數(shù)據(jù)用了賦值的方式改變,這個(gè)解決方式一般是換成add單個(gè)添加或者直接用addAll添加整個(gè)數(shù)組,這是因?yàn)檫@個(gè)list被recyclerview認(rèn)為是不一樣的數(shù)據(jù)list而不更新整個(gè)UI布局,我遇到的是,刪除數(shù)據(jù)的時(shí)候,會(huì)發(fā)出廣播要求更新UI布局,重新獲取list的數(shù)據(jù),刪除成功了,adapter的notifiDataChanged()不起任何作用,我的解決方法是讓recyclerview重新setLinearLayout,讓整個(gè)布局重新構(gòu)建,來達(dá)到更新整個(gè)布局的操作。
掃二維碼關(guān)注諾千科技
19909697910 / 15656989941
0551-65285599 / 0551-65428099
330592165
http://www.fscomfort.com.cn/
地址:安徽省合肥市高新區(qū)創(chuàng)新大道2700號路歌大廈A座6樓
CONTACT NUOQIAN
如果你認(rèn)同“術(shù)業(yè)有專攻”的理念,請給我們留言,告知你的需求,
我們會(huì)提供專業(yè)的互聯(lián)網(wǎng)解決方案。