2014-12-16 8 views
5

Mam obserwowalne w moim oncreate i chcę uzyskać wyniki w moim głównym wątku. Ale ponieważ AndroidScheduler.mainThread działa tylko z Java Observable, nie jestem w stanie go skompilować. Poniżej znajduje się kod:Jak sprawić, aby AndroidScheduler.mainThread działała z Scala obserwowalną?

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

Tutaj "a" jest obserwowalne. I to jest błąd czasu kompilacji, który dostaję:

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)) 
                   ^

Proszę pomóc w rozwiązaniu tego problemu.

Odpowiedz

5

Klasa JavaConversions zawiera metodę trzeba konwertować od "Java Scheduler" (The rx.Scheduler) do "Scala Scheduler" (the rx.lang.scala.Scheduler) - javaSchedulerToScalaScheduler:

val a=Observable.from(L) 
     .observeOn(JavaConversions.javaSchedulerToScalaScheduler(AndroidSchedulers.mainThread())) 
     .subscribe(i=>println(i)) 
Powiązane problemy