5

我的 oncreate 中有一个 Observable,我想在我的主线程上得到结果。但由于 AndroidScheduler.mainThread 仅适用于 Java Observable,因此我无法编译它。这是代码

val L=List(1,2,3)
val a=Observable.from(L).observeOn(AndroidSchedulers.mainThread()).subscribe(i=>println(i))

这里的 'a' 是一个 rx.scala.lang Observable。这是我得到的编译时错误

 Error:(38, 70) type mismatch;
 found   : rx.Scheduler
 required: rx.lang.scala.Scheduler
 val a=Observable.from(L).observeOn(AndroidSchedulers.mainThread()).subscribe(i=>println(i))
                                                                 ^

请帮助解决这个问题。

4

1 回答 1

5

该类JavaConversions包含您需要从“Java Scheduler”(the rx.Scheduler)转换为“Scala Scheduler”(the rx.lang.scala.Scheduler)的方法 - javaSchedulerToScalaScheduler

val a=Observable.from(L)
        .observeOn(JavaConversions.javaSchedulerToScalaScheduler(AndroidSchedulers.mainThread()))
        .subscribe(i=>println(i))
于 2014-12-16T18:47:29.657 回答