title: RecyclerView Adapter notifyDataSetChanged stops fancy animation
body: <p>I am building a component based on RecyclerView, allowing user to reorder items by drag and drop.
  Once I am on the DragListener side, I need the position it has in the adapter in order to perform correct move, but I only have access to the view.
  So here is what I am doing in the adapter view binding :</p>
  
  <pre><code>@Override
  public void onBindViewHolder(ViewHolder viewHolder, int position) {
      Track track = mArray.get(position);
      viewHolder.itemView.setTag(R.string.TAG_ITEM_POSITION, position);
  }
  </code></pre>
  
  <p>Does it seem correct to you ?
  Because if I move an item like this :</p>
  
  <pre><code>public void move(int from, int to){
      Track track = mArray.remove(from);
      mArray.add(to, track);
      notifyItemMoved(from, to);
  }
  </code></pre>
  
  <p>then position tag is not correct anymore, and if I notifyDataSetChanged(), I lose the fancy animation.
  Any suggestion ?</p>