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"、比較は常に失敗します。代わりに、リスト内のエントリの 1 つを選択するつもりでしたか?

于 2012-04-04T12:17:53.040 に答える
0
  1. codezは配列なので、文字列と比較せず、containsメソッドを使用します。
  2. コードが 1 つしかないと予想される場合は、リストではなく String 変数を使用します。
于 2012-04-04T12:18:34.750 に答える
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 に答える
0

コードを修正してください

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

        }
于 2012-04-04T12:20:00.327 に答える