在回收者视图中从阵列列表中删除项目的例外

时间:2020-06-05 06:30:01

标签: android

我写了一些代码从回收者视图对象中删除物品。那是在数组列表里面 直到大小和索引相等或索引变大为止。我真的找不到问题

public void deleteSelectedItems(){
    if (selectedItemList.size() < 1)
        return;
    for(int i = 0 ; i < selectedItemList.size() ; i++){
        int index = selectedItemList.get(i) ;
        Log.e("AAA",index + "");
        guitaristsList.remove(index);
    }
    selectedItemList.clear();
    notifyDataSetChanged();

}

public void onClick(View v) {
        if (isOnActionMode) {

            if (chxDelete.isChecked())
                selectedItemList.add(getAdapterPosition());
            else
                selectedItemList.remove((Object)getAdapterPosition());

            if (onCheckboxClickListener != null)
                onCheckboxClickListener.onCheckboxCheckedChanged(selectedItemList.size());
        }

}

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.amehrvarz.mycontextual, PID: 12492
java.lang.IndexOutOfBoundsException: Index: 2, Size: 1
    at java.util.ArrayList.remove(ArrayList.java:503)
    at com.amehrvarz.mycontextual.GuitaristAdapter.deleteSelectedItems(GuitaristAdapter.java:120)
    at com.amehrvarz.mycontextual.MainActivity$3.onActionItemClicked(MainActivity.java:71)
    at androidx.appcompat.app.AppCompatDelegateImpl$ActionModeCallbackWrapperV9.onActionItemClicked(AppCompatDelegateImpl.java:2452)
    at androidx.appcompat.app.WindowDecorActionBar$ActionModeImpl.onMenuItemSelected(WindowDecorActionBar.java:1123)
    at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:840)
    at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)
    at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:991)
    at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:981)
    at androidx.appcompat.widget.ActionMenuView.invokeItem(ActionMenuView.java:625)
    at androidx.appcompat.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:151)
    at android.view.View.performClick(View.java:7125)
    at android.view.View.performClickInternal(View.java:7102)
    at android.view.View.access$3500(View.java:801)
    at android.view.View$PerformClick.run(View.java:27336)
    at android.os.Handler.handleCallback(Handler.java:883)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:214)
    at android.app.ActivityThread.main(ActivityThread.java:7356)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

I / Process:正在发送信号。 PID:12492 SIG:9

0 个答案:

没有答案
相关问题