RxJava 2 Наблюдаемый Без зависимости - PullRequest
0 голосов
/ 31 января 2019

У меня есть 2 сервиса, которые возвращают массив:

Observable = api.getCategories ();Observable = api.getProdutcs ();

Как выполнить два сервиса с RxJava?, Оба сервиса не расширены / зависимы

Когда 2 сервиса завершены, я хочу уведомить адаптер для категорий RV и продуктов RV

Ответы [ 3 ]

0 голосов
/ 31 января 2019

Если ваши api.getCategories() и api.getProdutcs() возвращают различные типы, вы можете подписаться на второе наблюдаемое после выполнения первого:

api.getCategories()
 .subscribe(categories -> api.getProdutcs().subscribe(products -> //Here notify your lists ))

Или вы можете попробовать использовать оператор zip:

Observable
    .zip(api.getCategories(), api.getProdutcs(), (categories, products) -> //Here you need to define type of return value )
    .subscribe(yourObject ->//Here notify your lists );
0 голосов
/ 31 января 2019
 Observable.zip(api.getCategories()
               ,api.getProdutcs(),
                BiFunction<List<Categories>, List<Product>, Pair<List<Categories>, List<Product>>> { t1, t2 -> Pair(t1, t2) })
  ).subscribeBy{
      it.first//List<Category> update the adapter for category
      ir.second //List<Product> update the adapter for product

}
0 голосов
/ 31 января 2019

bro вызовите этот метод youradapterintance.notifyDataSetChanged () ;, если вы вызываете веб-сервисы и настраиваете адаптер в onCreate, то вы должны использовать шину событий, как только изменится набор данных, установите адаптер на onEventRecieve.метод.

...