项目作者: MFrat

项目描述 :
Swipe to Delete for RecyclerView
高级语言: Java
项目地址: git://github.com/MFrat/SwipeToDelete.git
创建时间: 2017-09-30T23:41:33Z
项目社区:https://github.com/MFrat/SwipeToDelete

开源协议:Apache License 2.0

下载


SwipeToDelete

Quickstart

This project is a implementation of Swipe to Dismiss feature.

Example

Constructor and attributes

  1. SwipeToDismiss swipeToDismiss = new SwipeToDismiss(getContext(), ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT);
  2. swipeToDismiss.setLeftBackgroundColor(R.color.colorAccent);
  3. swipeToDismiss.setRightBackgroundColor(R.color.colorPrimary);
  4. swipeToDismiss.setLeftImg(R.drawable.ic_adb);
  5. swipeToDismiss.setRightImg(R.drawable.ic_adb);
  6. swipeToDismiss.setSwipetoDismissCallBack(getCallback(myAdapter));

Callback implementation

  1. private SwipeToDismiss.SwipetoDismissCallBack getCallback(final MyAdapter adapter){
  2. return new SwipeToDismiss.SwipetoDismissCallBack() {
  3. @Override
  4. public void onSwipedLeft(RecyclerView.ViewHolder viewHolder) {
  5. adapter.remove(viewHolder.getAdapterPosition());
  6. }
  7. @Override
  8. public void onSwipedRight(RecyclerView.ViewHolder viewHolder) {
  9. adapter.remove(viewHolder.getAdapterPosition());
  10. }
  11. };
  12. }

Full example

  1. RecyclerView recyclerView = (RecyclerView) rootView.findViewById(R.id.recyclerView);
  2. final List<SomeClass> list = getList();
  3. MyAdapter myAdapter = new MyAdapter(list, getContext());
  4. myAdapter.setListPlayerAdapterListener(new myAdapter.myAdapterListener() {
  5. @Override
  6. public void onClickListener(int pos) {
  7. SomeClass p = list.get(pos);
  8. Toast.makeText(getContext(), p.getAttr(), Toast.LENGTH_SHORT).show();
  9. }
  10. });
  11. recyclerView.setAdapter(myAdapter);
  12. recyclerView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
  13. recyclerView.setItemAnimator(new DefaultItemAnimator());
  14. recyclerView.setHasFixedSize(true);
  15. //Left and right swipe
  16. SwipeToDismiss swipeToDismiss = new SwipeToDismiss(getContext(), ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT);
  17. swipeToDismiss.setLeftBackgroundColor(R.color.colorAccent);
  18. swipeToDismiss.setRightBackgroundColor(R.color.colorPrimary);
  19. swipeToDismiss.setLeftImg(R.drawable.ic_adb);
  20. swipeToDismiss.setRightImg(R.drawable.ic_adb);
  21. swipeToDismiss.setSwipetoDismissCallBack(getCallback(myAdapter));
  22. ItemTouchHelper itemTouchHelper = new ItemTouchHelper(swipeToDismiss);
  23. itemTouchHelper.attachToRecyclerView(recyclerView);

Callback

  1. public interface SwipetoDismissCallBack {
  2. void onSwipedLeft(RecyclerView.ViewHolder viewHolder);
  3. void onSwipedRight(RecyclerView.ViewHolder viewHolder);
  4. }