Я новичок в RxJava.
Я опираюсь на онлайн-ресурсы и внедряю их.Я пытаюсь кодировать очень простые вещи, но у меня возникают некоторые проблемы.
var animalobservable: Observable<String> = Observable.just("Ant", "Bee", "Cat", "Dog", "Fox")
var animalObserver: Observer<String> = getAnimalObserver()
animalobservable
.subscribeOn(Schedulers.trampoline())
.debounce(3, TimeUnit.SECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(animalObserver)
И я делаю некоторые вещи в методе onNext.
private fun getAnimalObserver(): Observer<String> {
return object : Observer<String> {
override fun onSubscribe(d: Disposable) {
Log.d("OnSubscibe", "onSubscribe")
}
override fun onNext(s: String) {
Log.d("OnNext", "Name: $s")
Toast.makeText(context, "Name : $s", Toast.LENGTH_SHORT).show()
}
override fun onError(e: Throwable) {
Log.e("OnError", "onError: " + e.message)
}
override fun onComplete() {
Log.d("OnComplete", "All items are emitted!")
}
}
}
Моя проблема когда я печатаю какой-то код в Logcat, он работает нормально.Данные отправляются по одному правильно.
Но когда я делаю тост вместо Logcat, он выдает только последние данные "лиса".
Я хочу знать, что происходит с тостами и logcat.Я предполагаю, что это происходит из-за многопоточности, но я не понимаю, почему это происходит.
Заранее спасибо ..!