gpt4 book ai didi

java - 如何打印android中循环外打印的所有值

转载 作者:行者123 更新时间:2023-12-01 15:27:14 25 4
gpt4 key购买 nike

我可以从数据库中获取菜单代码,我可以在 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);
}
});

外侧 for 循环我也想打印所有菜单代码..请帮助我

最佳答案

您正在使用 map ,并且始终具有相同的键(“itemcode”),因此每次插入都会覆盖之前对 map 的插入,也许您应该只使用列出,或使用不同的键。

举例回答评论:

  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 中不能有两个相同的 key ,这违背了它的目的,而且毫无用处。如果您不打算通过键获取值,并且不使用该键,则首先不应使用 map 。

关于java - 如何打印android中循环外打印的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10009557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com