0

我正在将菜单代码从 mysql 数据库获取到 android。如果我单击列表视图中的项目并且 codez=1 意味着它导航到另一个页面,否则转到另一个页面

      JSONArray json = jArray.getJSONArray("mainmenu");

        final List<String> codez=new ArrayList<String>();
         for ( i = 0; i < json.length(); i++) {

                JSONObject e = json.getJSONObject(i);
                codez.add(e.getString("menucode"));



         }
       list.setOnItemClickListener(new OnItemClickListener() {   

        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            System.out.println(codez);
            // TODO Auto-generated method stub
            if(codez.equals("1"))
            {
            Intent intent=new Intent(getApplicationContext(),FoodMenu.class);
            startActivity(intent);
            }else
            {

            }
        }
    });

它打印所有代码但不导航你能告诉我上述代码的解决方案吗

4

4 回答 4

1

codez是一个List,不是一个String。因此,当您尝试将其与 进行比较时"1",比较总是会失败。您的意思是选择列表中的一项吗?

于 2012-04-04T12:17:53.040 回答
0
  1. codez是一个数组,所以不要将它与字符串进行比较,而是使用该contains方法。
  2. 如果您希望只有一个代码,请使用字符串变量,而不是列表。
于 2012-04-04T12:18:34.750 回答
0

更正您的代码

 if(codez.contains("1"))
        {
        Intent intent=new Intent(getApplicationContext(),FoodMenu.class);
        startActivity(intent);
        }else
        {

        }
于 2012-04-04T12:20:00.327 回答
0

使用循环来获取特定情况,例如

`for(int i= 0;i<codez.length;i++){
   if(codez[i].equals("1")){
      Intent intent=new Intent(getApplicationContext(),FoodMenu.class);
       startActivity(intent);
   }
}`

希望这会帮助你。

于 2012-04-04T13:06:04.333 回答