我执行RecyclerView
其中有两个ViewType
。该列表是动态的,当用户向下/向上滚动时,添加一些项目。在我的RecyclerView
中,只有一个项目具有不同的ViewType
(将此视为可展开列表,其中只有一个项目一次展开)。在新数据插入后将特定项目的位置保存在RecyclerView中
我为扩展项目保存位置但是,当新数据添加时,这个位置改变了,我失去了扩展项目。由于在向上/向下滚动时添加的数据,根据新数据的大小更新扩展项目并不是好主意。
有一点要提的是,我想在第一次加载时滚动到扩展项目。所以我想保存位置是最好的选择。 (我想但我不确定);
我想知道处理这个问题的有效方法是什么?
感谢您的答复。首先加载的项目我想移动到扩展项目,你有什么想法如何做到这一点?我使用项目的位置,因为我使用** recyclerview.scrolltoPosition()**来解决这个问题,但用你的解决方案它不再工作。 – Amir
在您使用的模型类中实现哈希码并等于。使用ArrayList.indexOf(model_object)来获取扩展项目的位置,在其上使用recyclerview.scrolltoPosition()。希望能帮助到你。 http://tutorials.jenkov.com/java-collections/hashcode-equals.html –
@AlokOmkar非常感谢您的提示。将其作为解决方案发布:) – Amir