Добрый день. Итак, у меня есть список со списком внутри вроде этого:
{
"category" : [
{
"name": "Bathroom",
"products": [
{
"name": "Sink01"
},
{
"name": "Shower01"
}
]
},{
"name": "Kitchen",
"products": [
{
"name": "Table"
},
{
"name": "Stove"
}
]
}
]
}
Итак, если пользователь, например, выбирает категорию «Ванная», я хочу использовать rxjava для фильтрации списка продуктов из категории «Ванная», и если они выбирают категорию «Кухня», я хочу получить список продуктов из категории » Кухня".
Вот что я пробовал до сих пор:
fun getProducts(category: Category): Single<MutableList<Product>> {
return service.getProductsByCategories().filter{ response ->
response.categoriesList.forEach {
if (it.name == category.name) {
category.products
}
}
}
}
Прямо сейчас я получаю «Несоответствие набранного номера. Реквизиты: Single<MutableList<Product>>
, Найдено: Maybe<MyResponse!>!
»
Почему это происходит? Как правильно фильтровать?
Заранее спасибо.
Привет
service.getProductsByCategories()
? Кроме того, каким бы ни был этот тип, я сомневаюсь, что его методfilter
ожидает лямбда, которая возвращает список «вещей» вместо логического (true
илиfalse
). - person ysakhno   schedule 05.02.2020