在RecycleView

时间:2017-08-03 10:49:55

标签: android android-layout android-recyclerview

我正在尝试使用RecycleView构建应用。 RecycleView中的每个元素都有一个复杂的布局,其中的按钮可以改变颜色,动画和内容。用户完成后#34;使用当前项目并开始滚动,此项目将被回收,我所做的布局更改将丢失。

当用户再次滚动到该项目时,我将不得不再次更改布局。

是否有一种简单的方法可以保存项目的布局状态(按钮的位置和大小,视图的颜色......),然后在再次回收视图时恢复它们?

还有办法将布局恢复到原始状态吗?当我得到一个具有我想要恢复的布局更改的回收视图时,我想使用它吗?

1 个答案:

答案 0 :(得分:0)

我假设您有一个元素列表,用于填充RecyclerView适配器。您可以在该对象内保存元素的状态。在onBindViewHolder期间,您可以根据元素对象中的状态显示正确的布局。或者您甚至可以使用getItemViewType(position)更改视图的整个布局。

保存元素状态的另一种方法是在单独的Map中而不​​是在Element对象本身中,如下所示:Map<ElementId, ElementState>