![](/img/trans.png)
[英]In Recyclerview, how to change initial scroll position to the top of first item?
[英]How to change selected item position to top in Recyclerview?
我有recyclerview
,因為我想在選擇recyclerview
項目后將項目的位置動態更改為頂部。
請提出解決上述問題的最佳方法?
您需要將選定的項目與列表中的頂部項目交換,然后將位置變化通知您的適配器。 示例代碼如下所示:
Collections.swap(orderItems.getItems(), position, 0);
notifyItemMoved(position, 0);
希望能幫助到你!
嘗試這個
String Item = List.get(position);
List.remove(position); // remove item from the list
List.add(0,removedItem); // add at 0 index of your list
notifyDataSetChanged();
linearLayoutManager.scrollToPositionWithOffset(0, 20); // scroll recyclerview to top
要么
recyclerview.getLayoutManager().scrollToPosition(0) // scroll recyclerview to top
要么
recyclerview.smoothScrollToPosition(0); // scroll recyclerview to top
在項目的onclick中添加以下代碼,
String removedItem = actualList.remove(position);
//actualList is list used to populate recylerview and position is selected
//item position
actualList.add(0,removedItem);
notifyDataSetChanged();
如果您有類似的情況 ,我們可以從@ manohar-reddy實現此方法,並調用notifyItemChanged(position)
它還將調用onBindViewHolder
,然后相應地更新您的布局。
*在這種情況下,如果0項目與其他項目的布局不同
您可能想閱讀此參考資料 ,以正確獲取商品位置
感謝@ amit-srivastava的回答和@ manohar-reddy
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.