rx android java.lang.ExceptionInInitializeError出现问题
我在android上使用RXJava,我的事件总线类如下rx android java.lang.ExceptionInInitializeError出现问题,java,android,rx-android,Java,Android,Rx Android,我在android上使用RXJava,我的事件总线类如下 public class EventBus { private final Subject<Event, Event> subject = new SerializedSubject<>(PublishSubject.<Event>create()); private Observable<Map<Type, Event>> stickyObservable; public E
public class EventBus {
private final Subject<Event, Event> subject = new SerializedSubject<>(PublishSubject.<Event>create());
private Observable<Map<Type, Event>> stickyObservable;
public EventBus() {
createStickyObservable();
}
private void createStickyObservable() {
final List<Observable<Event>> observables = new ArrayList<>();
final Observable<Map<Type, Event>> so = subject
.filter(event -> event.sticky)
.groupBy(event -> event.type)
.switchMap(groupedObservable -> {
BehaviorSubject<Event> bs = BehaviorSubject.create();
groupedObservable.subscribe(bs);
observables.add(bs);
return Observable.combineLatest(observables, args -> {
Map<Type, Event> map = new HashMap<>();
for (Object arg : args) {
Event event = (Event) arg;
map.put(event.type, event);
}
return map;
});
});
final BehaviorSubject<Map<Type, Event>> bs = BehaviorSubject.create();
so.subscribe(bs);
stickyObservable = bs;
}
public Observable<Event> filter(final String pathExpression) {
final Pattern pattern = Pattern.compile(pathExpression);
return subject.filter(event -> {
if (event.path == null) {
return pathExpression == null;
}
return pattern.matcher(event.path).matches();
});
}
public Observable<Map<Type, Event>> getStickyObservable() {
return stickyObservable;
}
public void event(Event event) {
subject.onNext(event);
}
}
当我检查这个问题时,似乎有一个问题
java.lang.ExceptionInInitializerError on the OperatorSwitch with
Caused by: java.lang.RuntimeException: java.lang.NoSuchFieldException: state
你确定你的rxjava版本是最新的吗?你能发布你的
build.gradle
文件吗?@wasyl compile'io.reactivex:rxandroid:1.0.1'这是你的整个gradle文件吗?你可以用一个完整的来更新问题无法在问题上更新gradle编译'com.google.android.gms:play services:7.8.0'编译'com.android.support:support-v4:22.2.1'编译'io.reactivex:rxandroid:1.0.1'试试这个
java.lang.ExceptionInInitializerError on the OperatorSwitch with
Caused by: java.lang.RuntimeException: java.lang.NoSuchFieldException: state