簡體   English   中英

如何在Recyclerview中將所選項目的位置更改為頂部?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM