如何在listview中给出setonitemclicklistener条件

时间:2012-04-04 12:10:52

标签: android

我从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 个答案:

答案 0 :(得分:1)

codezList,而不是String。因此,当您尝试将其与"1"进行比较时,比较将始终失败。您的意思是选择列表中的一个条目吗?

答案 1 :(得分:0)

  1. codez是一个数组,因此您不要将其与字符串进行比较,而是使用contains方法。
  2. 如果您希望只有一个代码,请使用String变量,而不是列表。

答案 2 :(得分:0)

更正您的代码

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

        }

答案 3 :(得分:0)

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

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

希望这会对你有所帮助。