Android 用于循环适配器更新的 Studio Listview

Android Studio Listview for loop adapter update

我有一个问题,我有一个 for 循环,循环遍历数组列表并检查值是否是某个值,如果是,它会删除列表视图中的一行....不过我遇到了麻烦,这是代码...

 for (int i=0; i<displayList.size(); i++)
                {
                    Object toRemove = mAdapter.getItem(i);
                    Log.e("Counter+++",String.valueOf(i));

                    if (!firstname.equals("")) {
                        if (firstnamefilterstring.equals("Contains"))
                        {
                            if (!displayList.get(i).getFirstname().contains(firstname))
                            {
                                //displayList.remove(listView.getItemAtPosition(i));   doesnt work
                               // displayList.remove(toRemove); doesnt work either
                                L.e("1");
                            }
问题是通过调试我意识到这个循环只运行了 6/12 次(for 循环有 12 个元素大),我不知道为什么......通过一些额外的调试,我意识到 [=20 的两行=] 如果你将它们注释掉,它运行良好(12 次),但是对于这两行中的任何一行它都不会......我在这里迷路了,

它运行一半时间的原因是您要从显示列表中删除项目,因此 displayList.remove

The java.util.ArrayList.remove(int index) method removes the element at the specified position in this list. Shifts any subsequent elements to the left (subtracts one from their indices).