Android 将RecyclerView项目推到顶部,而不修改其他项目订单
我的Android 将RecyclerView项目推到顶部,而不修改其他项目订单,android,android-recyclerview,android-adapter,Android,Android Recyclerview,Android Adapter,我的回收视图中有5项(初始状态): 产品1 产品2 产品3 产品4 产品5 如果有一个产品是特色产品,我会显示一个简单的动画,并将该产品推到RecyclerView的顶部。例如,如果产品4具有特色,则订单将变为: 产品4 产品2 产品3 产品1 产品5 我想将项目推到RecyclerView的顶部,而不修改其他项目的顺序,如下所示 产品4 产品1 产品2 产品3 产品5 这是我的函数 private void pushSelectedProductToTop(final int se
回收视图中有5项(初始状态):
- 产品1
- 产品2
- 产品3
- 产品4
- 产品5
如果有一个产品是特色产品,我会显示一个简单的动画,并将该产品推到RecyclerView
的顶部。例如,如果产品4具有特色,则订单将变为:
- 产品4
- 产品2
- 产品3
- 产品1
- 产品5
我想将项目推到RecyclerView
的顶部,而不修改其他项目的顺序,如下所示
- 产品4
- 产品1
- 产品2
- 产品3
- 产品5
这是我的函数
private void pushSelectedProductToTop(final int selectedProductPosition) {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Collections.swap(currentProductListResponseRecyclerView.getProducts(), selectedProductPosition, 0);
productsAdapter.notifyItemMoved(selectedProductPosition, 0);
}
}, 1000);
}
提前感谢。您想将“产品4”移到列表的顶部。执行此操作:使用Remove
删除“产品4”(位置==3)。看见然后使用add
将项目插入位置0。看
然后,您可以调用productsAdapter.notifyItemMoved(selectedProductPosition,0)
看到这一点,您可以只调用productsAdapter.notifyDataSetChanged()
@ALTegani:正是我要找的mpProductItems.remove(indexofcorrecitem);MPProductItems。添加(i,更正项);notifyItemMoved(IndexOfCorrecItem,i)代码>好消息…为你高兴@MohamedElloumi