Android RecyclerView使用notifyItemRemoved()移除数据时数据错乱

在使用notifyItemRemoved()这个方法时,由于该方法不会使position及其之后位置的itemView重新onBindViewHolder,重新刷新后面的数据会导致下标错乱。有可能产生一些坑爹的bug。解决方法,通知其后数据刷新,并且一定要记得移除源数据源中要移除的数据。

 mDeliveryOrderList.remove(i);
 mDeliveryAdapter.notifyItemRemoved(i);
 if (mGetPosition != mDeliveryOrderList.size())
          mDeliveryAdapter.notifyItemRangeChanged(mGetPosition,mDeliveryOrderList.size() - mGetPosition);

最后一条的时候不用通知刷新了。

你可能感兴趣的:(Android,异常解决)