小编joo*_*ost的帖子

RxJava:"java.lang.IllegalStateException:只允许一个订阅者!"

我正在使用RxJava来计算Android中某些传感器数据的标准化自动关联.奇怪的是,我的代码抛出一个异常("java.lang.IllegalStateException:只允许一个订阅者!")并且我不确定该怎么做:我知道GroupedObservables在订阅我的多个订阅者时可能抛出此异常,但是我不认为我在任何地方都在使用这样的东西.

您可以在下面找到(最有可能)触发异常的方法:

public Observable<Float> normalizedAutoCorrelation(Observable<Float> observable, final int lag) {
    Observable<Float> laggedObservable = observable.skip(lag);

    Observable<Float> meanObservable = mean(observable, lag);
    Observable<Float> laggedMeanObservable = mean(laggedObservable, lag);

    Observable<Float> standardDeviationObservable = standardDeviation(observable, meanObservable, lag);
    Observable<Float> laggedStandardDeviationObservable = standardDeviation(laggedObservable, laggedMeanObservable, lag);

    Observable<Float> deviation = observable.zipWith(meanObservable, new Func2<Float, Float, Float>() {
        @Override
        public Float call(Float value, Float mean) {
            return value - mean;
        }
    });

    Observable<Float> laggedDeviation = observable.zipWith(laggedMeanObservable, new Func2<Float, Float, Float>() {
        @Override
        public Float call(Float value, Float mean) {
            return value - mean; …
Run Code Online (Sandbox Code Playgroud)

java android rx-java

4
推荐指数
1
解决办法
2674
查看次数

标签 统计

android ×1

java ×1

rx-java ×1