为了账号安全,请及时绑定邮箱和手机立即绑定

ArrayList 只识别第一个元素

ArrayList 只识别第一个元素

忽然笑 2021-06-07 13:51:03
我ArrayList在方法中添加了一些数据,当我尝试删除不是第一个的项目时,出现以下错误  07-25 00:39:03.024 28960-28960/murilopereira.brofut E/[HAS CHECK]: 2    07-25 00:39:03.025 28960-28960/murilopereira.brofut E/[CHECK INDEX]: udidjdid    0    84jdkd    107-25 00:39:07.787 28960-29062/murilopereira.brofut D/OpenGLRenderer: endAllActiveAnimators on 0x7f6b86bc00 (MenuPopupWindow$MenuDropDownListView) with handle 0x7f6b8e694007-25 00:39:08.054 28960-28960/murilopereira.brofut E/[HAS CHECK]: 107-25 00:39:08.055 28960-28960/murilopereira.brofut E/[CHECK INDEX]: 84jdkd    007-25 00:39:08.055 28960-28960/murilopereira.brofut D/AndroidRuntime: Shutting down VM07-25 00:39:08.060 28960-28960/murilopereira.brofut E/AndroidRuntime: FATAL EXCEPTION: main    Process: murilopereira.brofut, PID: 28960    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0        at java.util.ArrayList.get(ArrayList.java:437)        at murilopereira.brofut.Times.deleteTeam(Times.java:203)        at murilopereira.brofut.Times.access$100(Times.java:29)        at murilopereira.brofut.Times$2.onClick(Times.java:109)        at android.support.v7.app.AlertController$ButtonHandler.handleMessage(AlertController.java:162)        at android.os.Handler.dispatchMessage(Handler.java:105)        at android.os.Looper.loop(Looper.java:164)        at android.app.ActivityThread.main(ActivityThread.java:6592)        at java.lang.reflect.Method.invoke(Native Method)        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)但是如果我检查数组的大小,那表明一个数字我要删除的代码:    public static ArrayList<String> hasKeys = new ArrayList<>();    ...    private void deleteTeam(int indexRemove){        Log.e("[HAS CHECK]", hasKeys.size() + "");        for(int i = 0; i < hasKeys.size(); i++){            Log.e("[CHECK INDEX]", hasKeys.get(i));            Log.e("[CHECK INDEX]", i + "");        }}
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

发生这种情况是因为您的项目始终添加到index 0。数组列表的大小1每次都来自您添加的项目。我不知道你的代码的确切流程。但是,如果您每次都调用以下语句,这似乎是:

m_orders = new ArrayList<Teams>();

这是实例化您的数组列表。


查看完整回答
反对 回复 2021-06-10
  • 1 回答
  • 0 关注
  • 265 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信