リサイクルビューから特定のアイテムを削除します。一度に1つのアイテムを削除できますが、複数のアイテムを一度に削除することはできません。以下の項目を除去するためのコードです:リサイクラービューからアイテムを削除するとエラーが発生します
final Online2_G_S online2_g_s = online2_g_sList.get(position);
if (online2_g_s.getpMrp()==0){
removeItem(holder.getAdapterPosition());
}
private void removeItem(final int position) {
new Handler().post(new Runnable() {
@Override
public void run() {
try{
Log.i("sand36", String.valueOf(position)+" "+online2_g_sList.get(position));
online2_g_sList.remove(position);
notifyItemRemoved(position);
notifyItemRangeChanged(position, online2_g_sList.size());
}catch (Exception e){
Log.i("sand36", String.valueOf(e));
}
}
});
、ここでは、項目を除去しながら、私は取得していますエラーです:
09-14 09:09:36.816 26394-26394/com.parse.AwaazDo I/sand36: java.lang.IndexOutOfBoundsException: Invalid index 4, size is 4
09-14 09:09:36.817 26394-26394/com.parse.AwaazDo I/sand36: java.lang.IndexOutOfBoundsException: Invalid index 2, size is 2
09-14 09:09:36.870 26394-26394/com.parse.AwaazDo I/sand36: java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1
ここから、あなたは 'online2_g_sList.get(position)'の位置を取得していますか? –
fron onBindViewHolder(最終的なOnlineAdapter.MyViewHolderホルダー、最後のint位置) –