При использовании оператора IN
вам нужно иметь один ?
, разделенный запятой на аргумент, который вы предоставляете в массиве selectionArgs
. E.g.:
String[] selectionArgs = {"red", "black"};
String selection = "color IN (?, ?)";
Следующее выбирает правильный счет и правильный args
:
int argcount = 2; // number of IN arguments
String[] args = new String[]{ 1, 2 };
StringBuilder inList = new StringBuilder(argcount * 2);
for (int i = 0; i < argcount; i++) {
if(i > 0) {
inList.append(",");
}
inList.append("?");
}
cursor = contentResolver.query(
CONTENT_URI,
PROJECTION,
"field IN (" + inList.toString() + ")",
args,
null);