ハッシュマップにデータを追加します。レストランからの単品注文の場合、レストラン番号とorder_idをに追加することができます。HashMapかなり簡単です。私は<strong>のHashMap</strong>に<strong>キー(restaurant_id)</strong>と<strong>値(ORDER_ID)</strong>を追加しようとしています
複数のレストランからの注文には少し難しさがあります。ここ
は、forループレストランIDを提供するコード
//Get multiple restaurant ids
for(int i = 0; i < Utils.cart_map.size(); i++)
{
RestaurantModel restaurant = Utils.cart_restaurants.get(i);
String restaurantId = String.valueOf(Integer.parseInt(restaurant.getId()));
}
この上でカートに提示されているrestaurant_idsを与えます。例えば
for(int i = 0; i < Utils.cart_map.size(); i++)
{
RestaurantModel restaurant = Utils.cart_restaurants.get(i);
String restaurantId = String.valueOf(Integer.parseInt(restaurant.getId()));
for (int j = 0; j < orders.length(); j++)
{
order_id = orders.getString(j);
ordersHashMap.put(restaurantId, order_id);
}
}
:restaurant_idsは41,42あるここオーダーID
// get multiple order ids
for (int j = 0; j < orders.length(); j++)
{
order_id = orders.getString(j);
ordersHashMap.put(restaurantId, order_id);
}
をフェッチ
これは以下のコードは、完全なコードです。 オーダーIDは41であり、10001および42は10002である。上記のコードを実行すると、各レストランで同じorder_idsが保存されます。ここ が出力されます。
"42" -> "10001"
"41" -> "10001"
出力は次のようにする必要があります。
"42" -> "10001"
"41" -> "10002"
私はここで何が欠けているのか分かりません。
ヘルプを使用すると、すべてのレストランのためにそうすべての注文は、すべてのレストランに同じ注文を解析しているように見えます
'orders'は単に' Strings'のコレクションです - どのオーダーが特定のレストランに属していると定義されていますか?そのような定義がある場合、あなたのループでそれをチェックする必要があります。そうでなければ、 'ordersHashMap'のすべての要素が更新されます。 –
@ScaryWombatうんうん。これを達成するための最良の方法は何ですか?私はAPIから注文を受けています。 – Jacky
1つのレストランの注文を得る方法はありますか?もしそうなら、あなたは何らかのコントロールを持っています。あるいは実際に返されるデータに 'restaurantId'が含まれていますか? –