StartAndroid Ru RxJava
@rxjavachat 399 участников
Загрузить еще
19 июня
То есть там есть и 6 7 8 9...?
Да
D/MainActivity: obs1: 0
obs2: 1
obs2: 2
obs2: 3
D/MainActivity: obs2: 4
done
D/MainActivity: obs1: 1
D/MainActivity: obs1: 2
D/MainActivity: obs1: 3
D/MainActivity: obs1: 4

https://pastebin.com/7xs6CDBj
Я вижу только 4
Там до бесконечности, я не все логи выделил(
В доку merge() смотрели?
Сейчас смотрю.
Сдал на стековерфлоу https://stackoverflow.com/questions/50927086/rxjava2-merged-observable-doesnt-stopped
картинка мержа неправильная)
Мб все-таки выстпеливает комплит самого смерджэнного обзервабла?
У нас тут из три.
val obs3 = Observable.merge(obs1, obs2)
Нет.
Он принимает элементы до тех пор, пока есть производящие их источники.
Второй обзерв отрабатывант и соответственно в onComplete нам об этом заявляет.
Сделайте take(5) для первого и увидите как он отстрелил onComplete
И все.
Да, он должен заканчиваться, когда умирант последний источник, а не первый.
Спасибо.
Если учесть что картинка не правильное, тогда поведения merge я понимаю.
20 июня
есть что почитать для kotlin + rx а еще лучше хороших примеров а то мне эти скобочки уже весь мозхъ сломали :C
Коллеги, помогите, пожалуйста. Мне нужно в сетевом запросе сгенерировать ошибку и показать ее в тосте. Как это сделать? Такой код в doOnError не работает. https://pastebin.com/bsWjmiQP
чтобы сгенерировать ее в doOnError ее сначала получить нужно в doOnError а у тебя, видимо, ошибки нет!
Я генерирую, выключаю интернет. Позывается ошибка "handleError(throwable, R.string.init_error);" Подскажите, как сгенерировать ошибку програмно?
Может быть throw new Exception("generated error");
Добавил flatmap. Но все равно doOnError в getEmployers()
не отрабатывает: https://pastebin.com/bsWjmiQP
считаете что оператор throw лишний?
Хотя я не знаю как Single.error работает
имел ввиду просто throw сделать внутри того де flatMap например
Напилите, пожалуйста, у меня не выходит.
Добавьте себе как-то так: .flatMap(list -> {Single.error(new Throwable("Custom error"))} );
Вроде заработало, спасибо.
Изучаю Rx с нуля. Чтобы Observer видел Observable они должны быть в одном классе, или как то можно разместить Observable в репозитории, а Observer в презентере?
Они могут где угодно быть. Например Observable в либе, а Observer - в приложении
21 июня
Доброе утро. Подскажите, пожалуйста, как мне обработать клик по TabItem, используя Rx Binding от Вортана
Не понимаю в чем дело. Ведь таб итем это же вьюшка, и значит вызов оператора .clicks() должен вовзвращать мне
Observable. Но этого не происходит.
Валится с ошибкой при переходе на данный экран:
java.lang.IllegalStateException: tab_item_shipping_details_delivery must not be null

Верстка такая:







Обрабаотываю клики по табам так вот в методе onViewCreated фрагмента:

tab_item_shipping_details_delivery.clicks()
.subscribe { Toast.makeText(activity, "1", Toast.LENGTH_SHORT).show() }
.addTo(disposeBag)
tab_item_shipping_details_delivery нужно забайндить сначала, типа того TabLayout tabItem=findViewById(R.id.tab_item_shipping_details_delivery)
tabItem.clicks()....
у него котлин, там автоматом биндятся вьюшки
кек , так они все-таки биндятся _) а я чет так и не понял как завести эту штуку, в итоге сижу на коттернайфе с нормальными названиями переменных 😆
надо просто импорт сделать типа: import kotlinx.android.synthetic.main.activity_call.*
и нормальніе названия переменніх можно в xml прописівать
Ну это такое, обычно хочется там держать что-нибудь вроде того же tab_item_shipping_details_delivery
ничто не мешает написать это название в кэмел стайл )
а это в офф доках есть где-то ? прост хз искал даж не нашел нормального ответа нигде..
tabItemShippingDetailsDelivery еще хуже 0))))) back to DictionaryOfLIstOfDictionaryLIst
https://kotlinlang.org/docs/tutorials/android-plugin.html
А, ну конечно, я ж оставил платформ-специфик фичи напоследок когда весь док дочитаю )))) спс)
729132183
729185294
Telegram виджет для вашего сайта (скрыть это)