java - 如何使用 volley 从 andorid 中的数据模型回收器视图中获取此信息?
问题描述
ArrayList arr = new Arraylist<>();
CartData class consist
String food_name,
String qty,
String order_id
public void setFood(String foodName) {
this.food_name = foodName;
}
public String getFood() {
return food_name;
}
public void setQty(String qty) {
this.qty = qty;
}
public String getQty() {
return qty;
}
public void setOrderId(String orderId) {
this.order_id = orderId;
}
public String getOrderId() {
return order_id;
}
我得到这样的数据
{
"cart_data": [
{
"food_name: "Dosa",
"order_id": "66",
"qty": "5",
}
{
"food_name: "Samosa",
"order_id": "66",
"qty": "10",
},
{
"food_name: "Chapathi",
"order_id": "2",
"qty": "1",
},
{
"food_name: "Biriyani",
"order_id": "38",
"qty": "11",
},
{
"food_name: "Samosa",
"order_id": "38",
"qty": "10",
}
],
}
我想在回收站视图中显示这样的数据
一阶
- 多萨,5
- 萨摩萨,10
二阶
- 查帕蒂,1
三阶
- 比里亚尼,11 岁
- 萨摩萨,10
分组是使用订单 ID 完成的,即,如果具有相同订单 ID 的项目将被分组在一起,如果只有一个项目。它也单独分组。像上面的例子。(见第二个订单)
我也想知道我需要如何调用适配器。
解决方案
由于它是根据订单 ID 分组的,
你的json应该是这样的结构:
{
"orders":[
{
"order_id":"66",
"cart_data":[
{
"food_name":"Dosa",
"order_id":"66",
"qty":"5"
},
{
"food_name":"Samosa",
"order_id":"66",
"qty":"10"
}
]
},
{
"order_id":"2",
"cart_data":[
{
"food_name":"Chapathi",
"order_id":"2",
"qty":"1"
}
]
}
]
}
由于 json 结构具有单独列出的项目,因此您必须在模型级别修改结构。你的理想模型应该是这样的:
class Order {
String orderId;
List<CartData> cartDataItems;
}
class CartData {
String food_name;
String qty;
String order_id;
}
第 1 步:将您的 json 序列化为List<CartData>
第 2 步:创建另一个列表List<Order>
并将List<CartData>
第 1 步中准备的数据添加到其中
第 3 步:将此列表List<Order>
(来自第 2 步)传递给您的适配器
如果您有任何问题,请告诉我!
推荐阅读
- python - 插入到不使用 Python 的数据库表中
- django - 使用 postgis 和 mongodb django
- php - 任务没有在 Ubuntu Server 中使用 exec() 和 posix_kill() 杀死?
- swift - 扁平化字典数组,只取值
- graphql - 如何解决 gatsby-source-graphql 的问题
- python - 如何在python中组合两个整数列
- time - Hackerrank 中的时间增量问题没有得到很好的答案/Python 3
- android - ContentResolver.query 中的 GROUP BY
- r - 我怎样才能使这个数据框的值逐渐添加。前任。第二个等于第一个+第二个,依此类推,作为连续时间
- stripe-payments - 为条带事件创建挂钩我在浏览器中看到错误