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