2017-08-03 82 views
0

我試圖建立一個RecycleView應用程序恢復項目的佈局狀態。 RecycleView中的每個元素都具有複雜的佈局,其按鈕的顏色,動畫和素材都在變化。用戶「完成」當前項目並開始滾動後,該項目將被回收,並且我所做的佈局更改將會丟失。保存並在RecycleView

當用戶滾動到項目再次我將不得不再次改變佈局方式,它是。

是否有一個簡單的方法來保存項目的佈局狀態(視圖位置和按鈕的大小,顏色...),然後恢復這些視圖時再次回收?

也有恢復佈局到其原始狀態的方法嗎?當我想要恢復佈局更改的再循環視圖時,我想使用它?

+0

記住,在信息的地圖:'SparseArray '。 – azizbekian

+0

它不會工作,使你的參考,將被放入任何方式,你可以使用的招數之一,從這個鏈接:https://stackoverflow.com/questions/20721752/prevent-the-adapter-from-recycling-views-上滾動 – user1796260

回答

0

我假定你有使用您填充RecyclerView適配器元素的列表。您可以將該元素的狀態保存在該對象內。在onBindViewHolder期間,您可以根據元素對象中的狀態顯示正確的佈局。或者你甚至可以使用getItemViewType(position)來改變視圖的整個佈局。

另一種方式來保存元件的狀態是在一個單獨的地圖,而不是在Element對象本身,這樣的:Map<ElementId, ElementState>