Sqlite UPDATE com cláusula IN (…) parametrizada [duplicata]

Esta questão já tem uma resposta aqui:

Cláusula IN e espaços reservados 10 respostas

No meu aplicativo eu estou trabalhando com banco de dados sqlite - e eu acertei um problema estranho.

Eu tenho uma tabela que se parece com isso:

_id   field1   field2   status
---   ------   ------   ------
 1    value    value    ...
 2    value    value    ...
...

Em um lugar, eu preciso atualizar algumas linhas para defini-las para outro status, então estou tentando

SQLiteDatabase db = getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("status", STATUS_SENT);
Set<Integer> ids = datasource.getCompletedIds();
String idparam = TextUtils.join(",", ids);
int cnt = db.update(TABLE_ORDERS, cv, "_id in (?)", new String[] { idparam });
Log.d("db", "updated " + cnt + " rows");
db.close();

No entanto, nada é atualizado - edb.update retorna 0. O que estou perdendo?

questionAnswers(2)

yourAnswerToTheQuestion