How to make AndroidScheduler.mainThread work with Scala Observable?

I have an Observable in my oncreate and I want to get the results in my main topic. But since AndroidScheduler.mainThread only works with Java Observable, I can not compile it. Here is the code

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

Here "a" is the observed value of rx.scala.lang. And this is a compile time error that I get

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

Please help in solving this.

+5
source share
1 answer

The JavaConversions class contains a method that needs to be converted from "Java Scheduler" ( rx.Scheduler ) to "Scala Scheduler" ( rx.lang.scala.Scheduler ) - javaSchedulerToScalaScheduler :

 val a=Observable.from(L) .observeOn(JavaConversions.javaSchedulerToScalaScheduler(AndroidSchedulers.mainThread())) .subscribe(i=>println(i)) 
+5
source

Source: https://habr.com/ru/post/1209263/


All Articles