// and in your imlpementaion of
 public boolean onMove(
     RecyclerView recyclerView,
     RecyclerView.ViewHolder viewHolder,
     RecyclerView.ViewHolder target) {
   // get the viewHolder's and target's positions in your adapter data, swap them
   animAdapter.onItemMove(viewHolder.getAdapterPosition(), target.getAdapterPosition());
   // and notify the adapter that its dataset has changed
   animAdapter.notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());
   return true;
 }
 @Override
 public void onItemClick(int adapterPosition) {
   switch (radioGroup.getCheckedRadioButtonId()) {
     case R.id.rdo_add:
       animAdapter.addItem(adapterPosition);
       break;
     case R.id.rdo_del:
       animAdapter.deleteItem(adapterPosition);
       break;
     case R.id.rdo_change:
       animAdapter.changeItem(adapterPosition);
       break;
   }
 }
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_animate_list);

    radioGroup = (RadioGroup) findViewById(R.id.radioGroup);

    RecyclerView.ItemAnimator itemAnimator = new DefaultItemAnimator();
    itemAnimator.setAddDuration(500);
    itemAnimator.setRemoveDuration(500);

    RecyclerView recyclerView = (RecyclerView) findViewById(R.id.list);
    animAdapter = new AnimAdapter();
    animAdapter.setOnItemClickListener(this);
    recyclerView.setItemAnimator(itemAnimator);
    recyclerView.setLayoutManager(
        new StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.VERTICAL));
    recyclerView.setAdapter(animAdapter);

    ItemTouchHelper ith = new ItemTouchHelper(_ithCallback);
    ith.attachToRecyclerView(recyclerView);
  }