Я пытаюсь основать RxJava2.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_vogella)
setSupportActionBar(toolbar) val todoObserverable= createObservable(); try {
todoObserverable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe ({ t-> Log.e(TAG,t.title)}, {e-> Log.e(TAG,e.localizedMessage)}) }catch (e:Exception){
e.printStackTrace()
} }
получить наблюдаемую функцию:
fun createObservable():Observable<Book>{ val bookObservable: Observable<Book> = Observable.create { object :ObservableOnSubscribe<Book>{ override fun subscribe(emitter: ObservableEmitter<Book>) { Log.e(TAG,"anc") try {
val bookArrayList:ArrayList<Book> = ArrayList()
val bookOne= Book("XYZ")
val bookTwo= Book("ANC")
val bookThree= Book("3ewrXYZ")
val bookFour= Book("XwerweYZ") bookArrayList.add(bookOne)
bookArrayList.add(bookTwo)
bookArrayList.add(bookThree)
bookArrayList.add(bookFour) for (todo in bookArrayList){
emitter.onNext(todo)
Log.e(TAG,"on next")
}
emitter.onComplete() }catch (e:Exception){
e.printStackTrace()
}
} }
} return bookObservable; }
Но я не могу напечатать название книги. Это не дает мне никакой ошибки или исключения. Я пытался отладить createObservable (), но курсор не входит в функцию подписки. Любой подсказка будет полезна.
Observable.create { object :ObservableOnSubscribe<Book>{
- По существу создаетсяObservableOnSubscribe
внутриObservableOnSubscribe
. Объявление объекта избыточно или вы можете удалить определение лямбда. (Observable.create(object : ETC)
)