簡體   English   中英

如何在 android 循環外打印所有值

[英]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或使用不同的密鑰。

通過舉例回答評論:

  1. 使用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")); }
  2. 使用不同的鍵:

     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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM