【发布时间】:2019-08-09 07:52:31
【问题描述】:
我在回收站视图中实现了向左滑动以删除操作,如下所示:
ItemTouchHelper
public class SwipeToDelete extends ItemTouchHelper.SimpleCallback {
//my custom adapter
private MyAdapter slAdapter;
public SwipeToDelete(MyAdapter adapter){
// TO only swipe to the left
super(0, ItemTouchHelper.LEFT);
slAdapter = adapter;
}
@Override
public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
int position = viewHolder.getAdapterPosition();
slAdapter.deleteItem(position);
}
}
我的适配器
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MYViewHolder> {
//... onCreateViewHolder .. etc
//creating a list of my custom layout view
private List<MyCustomCardView> cards;
public void deleteItem(int position){
cards.remove(position);
notifyItemRemoved(position);
}
}
简单地说,我可以在我的 recyclerView 中滑动和删除视图。
我想做的是中途停止滑动并显示一个图标。然后,用户可以单击该图标,继续滑动并删除视图,或者自己继续滑动,视图将被删除。
就像现在一样,用户几乎不能向左滑动,然后自动继续滑动,我想要一个中间步骤,显示一个可点击的图标。上面的代码怎么能做到这一点?
【问题讨论】:
标签: android android-recyclerview swipe androidx itemtouchhelper