2012-02-03 3 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 ?",-+ " = ?", 변화와 함께, 전혀 작동하지 않았다 시도

내가 ARRAY의 ID로 모든 행을 선택하고 싶습니다

어떻게해야합니까?

답변

1

내가하려는 것은 쉽게 달성 할 수 없다고 생각합니다.

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

당신은 당신이에 지정하고자하는 각 id 값에 대한 ?마르크을 추가해야합니다 :

내가 원래 코드를 사용하지만, 수 where 절을 변경하여 문제를 해결 것이라고 말했다 데 IN for 루프를 사용하는 절

+0

채팅 메시지를 놓쳤습니다. ids.length를 사용하여 매개 변수 자리 표시 자 문자열을 만듭니다. – Merlin