好的,我在购物车活动中有列表项(使用RecyclerView)。我的目的是根据 shop_id 分开商品,以便当有一个具有相同shop_id的商品时,用户可以处理一次付款。我已经在Google上搜索过,并且已经阅读了使用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)
请帮助我,谢谢!
答案 0 :(得分:1)
我有个例子给你。
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)]]
希望这可以解决您的问题。