Ответ 1
При использовании оператора IN
вам нужно иметь один ?
, разделенный запятой на каждый аргумент, который вы указываете в массиве selectionArgs
. Например:.
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);