[英]how to print all values print outside the loop in android
我可以從數據庫中獲取菜單代碼我可以在 for 循環中打印意味着它打印所有菜單代碼。 如果我打印出循環意味着它只打印最后一個值
my code
JSONArray json = jArray.getJSONArray("mainmenu");
for ( i = 0; i < json.length(); i++) {
JSONObject e = json.getJSONObject(i);
map.put("itemcode", e.getString("menucode")); //here i print all values
}
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
System.out.println(map.get("itemcode"));//here i print only last value(here i want print all values how can i do this)
// TODO Auto-generated method stub
Intent intent=new Intent(getApplicationContext(),FoodMenu.class);
startActivity(intent);
}
});
在循環之外我也想打印所有菜單代碼..請幫助我
您正在使用 map,並且您始終擁有相同的密鑰( "itemcode"
),因此每次插入都會覆蓋之前對 map 的插入,也許您應該只使用List
或使用不同的密鑰。
通過舉例回答評論:
使用ArrayList
/ List
:
List<String> codez = new ArrayList<String>(); for ( i = 0; i < json.length(); i++) { JSONObject e = json.getJSONObject(i); codez.add(e.getString("menucode")); }
使用不同的鍵:
for ( i = 0; i < json.length(); i++) { JSONObject e = json.getJSONObject(i); map.put("itemcode" + i, e.getString("menucode")); }
最后一件事 - 你不能在 map 中有兩個相同的密鑰,它違背了它的目的,而且沒有用。 如果您不打算通過密鑰獲取值,並且未使用密鑰,則不應首先使用 map。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.