我執行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