Как сгруппировать корзину товаров по shop_id с помощью RecyclerView в Kotlin - PullRequest
3 голосов
/ 04 апреля 2019

Окей, у меня есть элемент списка в корзине (с помощью RecyclerView).Моя цель - разделить товары на основе shop_id , чтобы пользователи могли обрабатывать платеж один раз, когда есть товар с таким же shop_id.Я гуглил и прочитал решение, используя getItemViewType, но понятия не имею, потому что в моем случае shop_id является динамическим.

Это иллюстрация:

item A
item F
(here button process item A and F)

item D
(here button process item D)

item B
item E
item C
(here button process item B,E and C)

Пожалуйста, помогите мне, спасибо!

1 Ответ

1 голос
/ 04 апреля 2019

У меня есть пример для вас.

    data class CartItem(
            var shopId : Int,
            var itemName : String
    )

    val list = listOf(CartItem(1,"Onion"),
            CartItem(1,"Potato"),
            CartItem(2,"Banana"),
            CartItem(2,"Apple"))

    val listOfDifferentShopIds = mutableListOf<List<CartItem>>()

    val getUniqueShopIds = list.distinctBy { it.shopId }.map { it.shopId }

    getUniqueShopIds.forEach{ uniqueShopID->
        listOfDifferentShopIds.add(list.filter{ uniqueShopID == it.shopId })
    }

    print(listOfDifferentShopIds)

Результат

[[CartItem(shopId=1, itemName=Onion), CartItem(shopId=1, itemName=Potato)], [CartItem(shopId=2, itemName=Banana), CartItem(shopId=2, itemName=Apple)]]

Надеюсь, это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...