Android 为什么我在这段代码中得到ConcurrentModificationException?
我得到的错误是:Android 为什么我在这段代码中得到ConcurrentModificationException?,android,Android,我得到的错误是: E/AndroidRuntime: FATAL EXCEPTION: HandlerThread Process: com.ssriram.noisesensor, PID: 21735 java.util.ConcurrentModificationException at java.util.LinkedList$LinkIterator.next(LinkedList.java:1
E/AndroidRuntime: FATAL EXCEPTION: HandlerThread
Process: com.ssriram.noisesensor, PID: 21735
java.util.ConcurrentModificationException
at java.util.LinkedList$LinkIterator.next(LinkedList.java:124)
at com.ssriram.noisesensor.Dispatcher.accept(Dispatcher.java:15)
at com.ssriram.noisesensor.SoundAlert.run(SoundAlert.java:37)
at com.ssriram.noisesensor.SubService$1.run(SubService.java:57)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:207)
at android.os.HandlerThread.run(HandlerThread.java:61)
Dispatcher类是:
public class Dispatcher<T> implements Callback<T> {
private List<Callback<T>> callbacks = new LinkedList<>();
@Override
public void accept(T t) {
for (Callback<T> callback : callbacks) {
callback.accept(t);
}
}
public void registerCallback(Callback<T> callback) {
callbacks.add(callback);
}
我使用runnable在子服务类中运行SoundAlert:
soundAlert3.run();
if (running)
backgroundHandler.postDelayed(runnable, 1000);
有人能告诉我这是什么原因吗?我还是不知道。我做错了什么?
soundAlert3.run();
if (running)
backgroundHandler.postDelayed(runnable, 1000);