如何在Recycler视图中将项目从一个区域切换到另一个区域,反之亦然?
我有一个RecyclerView
,我想显示RecyclerView
两节。第一次部分将是空的,我想将项目从第二部分拖到第一部分。当项目被添加到第一部分,它应该从第二部分删除,反之亦然。如何在Recycler视图中将项目从一个区域切换到另一个区域,反之亦然?
您可以使用以下链接:
https://github.com/cymcsg/UltimateRecyclerView
https://github.com/wasabeef/recyclerview-animators
使用这个任何一个。我希望它能帮助你。
导入您的项目中的lib。
这是我的工作? – Vishal
您应该使用RecyclerView.ItemDecoration
类中的ItemTouchHelper
。 我刚刚完成的行为你愿意按照本教程: https://medium.com/@ipaulpro/drag-and-swipe-with-recyclerview-b9456d2b1aaf#.p6vykzstq
试试这个,它与我曾在我的应用程序,
在您的适配器类把这个下面的代码,
这里将MessageList是ArrayList中的名称,
public void swap(int firstPosition, int secondPosition)
{
Collections.swap(MessageList, firstPosition, secondPosition);
notifyItemMoved(firstPosition, secondPosition);
}
现在添加单独这个小班,
这里
Adapter
是适配器类的名称把你的适配器名称
public class MovieTouchHelper extends ItemTouchHelper.SimpleCallback {
Aadapter recycleAdapter;
public MovieTouchHelper(Aadapter recycleAdapter) {
super(ItemTouchHelper.UP | ItemTouchHelper.DOWN, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT);
this.recycleAdapter = recycleAdapter;
}
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
recycleAdapter.swap(viewHolder.getAdapterPosition(), target.getAdapterPosition());
return true;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
recycleAdapter.remove(viewHolder.getAdapterPosition());
}
}
然后在你定义recycleview你mainActivity,
ItemTouchHelper.Callback callback = new MovieTouchHelper(adapter);
ItemTouchHelper helper = new ItemTouchHelper(callback);
helper.attachToRecyclerView(rv_list);
这里
rv_list
是recycleview的名称。
按照此步骤,如果你发现任何问题,或者你不能SWIP的项目,然后直接告诉我...
看到这个GIF
@Vishal你也可以使用这个解决方案,因为你对这个问题有同样的问题..... :-) :-) –
你好Bhumika,我怎么能在组中分类? – Vishal
@vishal哪个组? –
@Abdul,嘿请帮忙我如果你对此有任何想法。 – Vishal
我解决你的问题,看我的答案.. –