recyclerview復(fù)雜布局 安卓怎么讓recyclerview加載數(shù)據(jù)時(shí)候閃動(dòng)問(wèn)題?
安卓怎么讓recyclerview加載數(shù)據(jù)時(shí)候閃動(dòng)問(wèn)題?我程序中的原始刷新邏輯是,適配器。清除()那么適配器.addAll沒(méi)事的。沒(méi)事的。然后那家伙說(shuō),“加上。”適配器.notifyDataSetCh
安卓怎么讓recyclerview加載數(shù)據(jù)時(shí)候閃動(dòng)問(wèn)題?
我程序中的原始刷新邏輯是,適配器。清除()那么適配器.addAll沒(méi)事的。沒(méi)事的。然后那家伙說(shuō),“加上?!边m配器.notifyDataSetChanged試試這個(gè)句子。沒(méi)有其他方法可以添加它。讓測(cè)試隨機(jī)切換數(shù)據(jù)。好吧,解決了。我不知道為什么。。。。我不是一個(gè)純粹的技術(shù)人員。我不明白原因。正常適配器.addAll(list)事實(shí)上,有一個(gè)用于添加數(shù)據(jù)的刷新機(jī)制。如果你進(jìn)去看看源代碼,它不會(huì)通知整個(gè)列表。所以猜測(cè)是不是要替換所有的數(shù)據(jù),是不是要去通知一個(gè)科學(xué)的?所以這個(gè)錯(cuò)誤,除了適配器.notifyDataSetChanged在這句話之后,我沒(méi)有問(wèn)題。如果有朋友也遇到這個(gè)問(wèn)題,實(shí)在找不到辦法,加上這句話試試。
recyclerview怎么刷新數(shù)據(jù)?
首先提供一個(gè)可能無(wú)法完全解決主要問(wèn)題的答案:
recyclerview refresh data:無(wú)論是添加項(xiàng)目、刪除項(xiàng)目還是通知更改,都將完全重建列表。
最后,它應(yīng)該會(huì)導(dǎo)致布局發(fā)生變化。布局完成后,是關(guān)于“何時(shí)加載刷新數(shù)據(jù)?”
如果是這樣的話,這很簡(jiǎn)單:recyclerView.getViewTreeObserver服務(wù)器(). Addongloballayoutlistener(this)
getviewtreeobserver()是視圖對(duì)象的常規(guī)進(jìn)程監(jiān)視器。您可以添加各種狀態(tài)監(jiān)視器,包括上述。
我希望我能幫助你
recyclerview有什么方法?
這是因?yàn)槟愕膔ecyclerview適配器的數(shù)據(jù)尚未清除。盡管您刪除了allview(),但數(shù)據(jù)尚未清除,然后notifydatasetchanged(),recyclerview已重新加載,因此該視圖再次出現(xiàn)。至于保留新條目,這是因?yàn)槟臄?shù)據(jù)存儲(chǔ)了新條目的數(shù)據(jù)。您可以在removeallview之后清除數(shù)據(jù),然后notifydatasetchanged將不會(huì)出現(xiàn)任何新條目。