RecycleView viewholder复用显示混乱的问题

最近在使用recycleview的时候被这个问题困扰好几天了,recycleview.adapter代码如下:
 private class MyRecycleViewAdapter extends RecyclerView.Adapter<MyRecycleViewAdapter.ViewHolder> {
        private  MyRecycleViewAdapter.ViewHolder viewHolder=null;

        @Override
        public MyRecycleViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            View view = LayoutInflater.from(getActivity()).inflate( R.layout.device_tmperature,parent,false);
            viewHolder = new ViewHolder(view);
            return viewHolder;
        }

        @Override
        public void onBindViewHolder(ViewHolder holder, int position) {
            Log.e(TAG, "onBindView position " + position+" suppose to be seen "+holder.getLayoutPosition()+" ℃" );
            viewHolder.degree.setText(holder.getLayoutPosition()+" ℃");
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public int getItemCount() {
            return 10;
        }



        @Override
        public void onViewAttachedToWindow(ViewHolder holder) {
            Log.e(TAG, "onViewAttachedToWindow position " + holder.getLayoutPosition()+" suppose to be seen "+holder.getLayoutPosition()+" ℃" );
            viewHolder.degree.setText(holder.getLayoutPosition()+" ℃");

        }

        public class ViewHolder extends RecyclerView.ViewHolder{
            TextView degree = null;
            CardView cv_device=null;

            public ViewHolder(View itemView) {
                super(itemView);
                degree= (TextView) itemView.findViewById(R.id.tv_degree);
                cv_device = (CardView) itemView.findViewById(R.id.cv_device);
                cv_device.setCardElevation(5);
                cv_device.setRadius(5);
            }


        }
    }

图片说明
一开始显示的时候没有问题,但是当我往下滑动到position=4的时候显示的内容就开始混乱了。通过LOG打印出的信息发现是因为当我滑到position=5本应该显示的时候onBindViewHolder和onViewAttachedToWindow提供的viewholder还是position=4的,所以本应该position=5显示“6℃”的时候却变成position=4显示了。已经在在这个问题纠结好几天了有人能帮忙解决吗?谢谢了
图片说明
图片说明