У меня проблема с отсутствующими значениями из ArrayList. Когда я провожу listCartItemValues.toString()
, результаты верны в соответствии с существующими данными. Но когда я устанавливаю listCartItemValues
в Model DataItemCart, то тост, одно из значений отсутствует, это Starlight.
Мой API:
{
"data": [
{
"cart_item_values": [
{
"attribute_name": "color",
"attribute_value": "Starlight"
},
{
"attribute_name": "size",
"attribute_value": "XL"
}
]
},
{
"cart_item_values": [
{
"attribute_name": "size",
"attribute_value": "10"
}
]
}
],
}
Мой код для получения cart_item_values
:
private List<CartItemValuesItem> listCartItemValues;
for (int a = 0; a < data.length(); a++) {
JSONObject dataJSONObject = data.getJSONObject(a);
final DataItemCart dataItemCart = new DataItemCart();
final CartItemValuesItem cartItemValuesItem = new CartItemValuesItem();
JSONArray arrayCartItemValues = dataJSONObject.optJSONArray("cart_item_values");
for (int b = 0; b < arrayCartItemValues.length(); b++) {
JSONObject cartItemJsonObject = arrayCartItemValues.optJSONObject(b);
listCartItemValues = new ArrayList<>();
cartItemValuesItem.setAttributeName(cartItemJsonObject.getString("attribute_name"));
cartItemValuesItem.setAttributeValue(cartItemJsonObject.getString("attribute_value"));
listCartItemValues.add(cartItemValuesItem);
Toast.makeText(mContext, "value : "+ listCartItemValues.toString(), Toast.LENGTH_SHORT).show();
// this list contain Starlight, XL, and 10
}
dataItemCart.setCartItemValues(listCartItemValues);
Toast.makeText(mContext, "data : "+ dataItemCart.getCartItemValues.toString(), Toast.LENGTH_SHORT).show();
// but this list contain XL and 10. Starlight is missing
}
Как найти отсутствующее значение из ArrayList и ввести недостающее значение в dataItemCart.setCartItemValues
?