2014-12-16 18 views
5

Ho un osservabile nel mio oncreate e voglio ottenere i risultati sul mio thread principale. Ma dal momento che AndroidScheduler.mainThread funziona solo con Java Observable, non riesco a compilarlo. Ecco il codiceCome rendere AndroidScheduler.mainThread compatibile con Scala Observable?

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

Qui 'a' è un rx.scala.lang osservabile. E questo è l'errore di compilazione sto ottenendo

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

Si prega di aiutare a risolvere questo.

risposta

5

La classe JavaConversions contiene il metodo è necessario convertire da un "Java Scheduler" (la rx.Scheduler) ad una "Scala Scheduler" (la rx.lang.scala.Scheduler) - javaSchedulerToScalaScheduler:

val a=Observable.from(L) 
     .observeOn(JavaConversions.javaSchedulerToScalaScheduler(AndroidSchedulers.mainThread())) 
     .subscribe(i=>println(i)) 
Problemi correlati