ArrayList 只识别第一个元素

我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

    1

07-25 00:39:07.787 28960-29062/murilopereira.brofut D/OpenGLRenderer: endAllActiveAnimators on 0x7f6b86bc00 (MenuPopupWindow$MenuDropDownListView) with handle 0x7f6b8e6940

07-25 00:39:08.054 28960-28960/murilopereira.brofut E/[HAS CHECK]: 1

07-25 00:39:08.055 28960-28960/murilopereira.brofut E/[CHECK INDEX]: 84jdkd

    0

07-25 00:39:08.055 28960-28960/murilopereira.brofut D/AndroidRuntime: Shutting down VM

07-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 + "");

        }


}



忽然笑
浏览 266回答 1
1回答

尚方宝剑之说

发生这种情况是因为您的项目始终添加到index 0。数组列表的大小1每次都来自您添加的项目。我不知道你的代码的确切流程。但是,如果您每次都调用以下语句,这似乎是:m_orders&nbsp;=&nbsp;new&nbsp;ArrayList<Teams>();这是实例化您的数组列表。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java