2012-02-03 6 views
0
String[] ids = new String[]{"1","2","3","4"}; 
Cursor emailCur = getContentResolver().query( 
       ContactsContract.CommonDataKinds.Email.CONTENT_URI, 
       null, 
       ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", 
       ids, null); 

付属のパラメータの問題があると思います。 Androidの複数の行:バインドまたはカラムのインデックスが範囲外になっています

は私が...そこ

String[] ids = new String[]{"(1,2,3,4)"}; 
// or 
String[] ids = new String[]{"('1','2','3','4')"}; 

を入れてみましたと+ " IN ?",から+ " = ?",を変更すると、全く働いていないことを試してみました

私は、アレイ内のIDを持つすべての行を選択したいと思います

どうしたらいい?

答えて

1

あなたがしようとしていることは容易に達成できないと思います。

ContactsContract.CommonDataKinds.Email.CONTACT_ID + " IN(?,?,?,?)" 

あなたはあなたが指定したい各id値のため?マークを追加する必要があります:

は、私はあなたの元のコードを使用しますがするwhere句を変更することで問題に取り組むと述べました IN forループを使用する句

+0

チャットメッセージを紛失しました。 ids.lengthを使用して、パラメータプレースホルダの文字列を作成します。 – Merlin

関連する問題