個人需求是一個展現圖片的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