2016-04-27 50 views
-1

我面临检索和整数在ArrayList中的问题。 logcat中显示什么Integer - ArrayList -

public void GetRecipes(String meal_cat_selected, ArrayList<String> User_Main_Ing) { 
     SQLiteDatabase db = this.getReadableDatabase(); 
     User_Main_Ingredients = User_Main_Ing; 
     for (int i = 0; i <User_Main_Ingredients.size(); i++) { 
      Log.i("User_Main_Ingredients", User_Main_Ingredients.get(i).toString()); 
     } 

     String mealcat=meal_cat_selected; 
     Cursor cursor_recipes = db.rawQuery("SELECT " + RECIPE_COLUMN_ID + " FROM " + RECIPES_TABLE_NAME + " where " + MEAL_CATEGORY + "=" + mealcat, null); 
     int i,id; 
     cursor_recipes.moveToFirst(); 
     while (cursor_recipes.isAfterLast() == false) { 
      recipes.add(cursor_recipes.getInt(cursor_recipes.getColumnIndex(RECIPE_COLUMN_ID))); 
      cursor_recipes.moveToNext(); 
     } 

     for (i = 0; i < recipes.size(); i++) { 
      Log.i("Recipes",Integer.toString(recipes.get(i))); 
     } 

     for (i = 0; i < recipes.size(); i++) { 
      id = recipes.get(i); 
      boolean result = checkrecipe(id); 
      if (result == true) { 
       matchedRecipes[i] = i; 
      } 
     } 
    } 
+0

反向编辑这是错误的。 – Priyamal

回答

2

首先你的ArrayList是不是整数数组列表

ArrayList<String> User_Main_Ingredients; 

变化,要

ArrayList<Integer> User_Main_Ingredients; 

,你可以通过使用一个for循环得到整数

for(int ingredient : User_Main_Ingredients){ 
    System.out.println(ingredient); 
} 

i n你的编辑列表已经是一个整数阵列列表,因此不需要转换

for (int rec :recipes) { 
    System.out.println("Recipes"+rec); 
    } 
+0

它不是user_Main_Ingredients。它的配方(整数列表)它被宣布。我如何使用该循环? –

+0

Cursor cursor_recipes = db.rawQuery(“SELECT”+ RECIPE_COLUMN_ID +“FROM”+ RECIPES_TABLE_NAME +“where”+ MEAL_CATEGORY +“=”+ mealcat,null); int i,id; cursor_recipes.moveToFirst(); (cursor_recipes.isAfterLast()== false){ recipes.add(cursor_recipes.getInt(cursor_recipes.getColumnIndex(RECIPE_COLUMN_ID))); cursor_recipes.moveToNext(); } –

相关问题