I'm trying to use rawQuery to return a cursor with a few different rows of data to be passed into it. When there is only 1 argument it works. When there is more than 1 argument it displays the empty ListView state. I believe the issue lies here:

```
// Query for items from the database and get a cursor back. Edited code for clarity:
        recipeCursor = db.rawQuery("SELECT  course, name, _id " +
                " FROM recipes WHERE _id = ?",
                selectedRecipesSQL);

```

When the code works the selectedRecipesSQL would look something like:

```
String[] selectedRecipesSQL;
selectedRecipesSQL = new String[]{"2"};

```

And when it doesn't work it would be something like

```
String[] selectedRecipesSQL;
selectedRecipesSQL = new String[]{"2 OR 5"};

```

So, to be clear, I can display a single row of the table in my ListView, but if I try to display more than one row of the table then it won't display anything.

One ugly solution which has crossed my mind (but I haven't pursued) is that I need to edit the rawQuery selection statement to read something like:

```
recipeCursor = db.rawQuery("SELECT  course, name, _id " +
                " FROM recipes WHERE _id = ? OR _id = ? OR _id = ?",
                selectedRecipesSQL);

```

I'd probably use a for loop to generate the correct amount of WHERE "\_id = ?" and then use a string array:

```
selectedRecipesSQL = new String[]{"2", "5"};

```