【发布时间】:2016-06-20 19:27:33
【问题描述】:
我正在尝试将项目添加到列表中,但出现错误,我不知道如何解决它。
下面是一个添加的例子:
for (Object object : mData) {
if (object instanceof BaseAdapter.ChoseFriendItem) {
mAdapter.addItem(1, object);
}
}
mDate 所在位置 - 数组列表
执行代码后出现以下错误:
FATAL EXCEPTION: main
Process: com.akbars.bankok, PID: 15263 java.util.ConcurrentModificationException
at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)
at com.akbars.bankok.v2.ActivityChoseFriends.onClick(ActivityChoseFriends.java:311)
at android.view.View.performClick(View.java:5198)
at android.view.View$PerformClick.run(View.java:21147)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
然后我尝试使用迭代器。但是为什么它只添加一个元素而不是从列表的开头添加,这里有一个例子:
for (ListIterator<Object> iterator = mData.listIterator(); iterator.hasNext();) {
if (iterator.next() instanceof BaseAdapter.ChoseFriendItem){
mAdapter.addItem(1, iterator.next());
return;
}
}
也许有人知道如何解决这个错误?
【问题讨论】:
-
为什么总是将项目添加到第二 (1) 个位置?
标签: java android android-recyclerview adapter add