个人需求是一个展现图片的Recyclview. 当我同时删除2个图片的时候就会出现数组越界异常. 若是我一个一个删除,就不会出现. 分析一下基本就能想到.Adapter的notifyDataSetChanged出现了问题. 发现这段android
public final int getAdapterPosition() {
if (mOwnerRecyclerView == null) {
return NO_POSITION; //这个常量就是-1.
}
return mOwnerRecyclerView.getAdapterPositionFor(this);
}
复制代码
在xml里面RecyclerView标签加上数组
android:splitMotionEvents="false"
复制代码
禁止当前容器多点触摸.bash
若是app没有多点触摸需求,能够设置Themeapp
<itemname="android:splitMotionEvents">false</item>
复制代码
来禁止掉这个功能,ui
不要使用getAdapterPosition() 在adapter里面改用getLayoutPosition();来拿到positionthis
发现个bug作个日记.spa
另外吐槽一下,hongyang的base-adapter里的MultiItemTypeAdapter仍是getAdapterPosition().哈哈code