Android 值位于范围或数组中的ContentResolver查询选择

Android 值位于范围或数组中的ContentResolver查询选择,android,selection,android-contentresolver,Android,Selection,Android Contentresolver,我正在做一个基本项目,涉及CalendarContract.Calendars和CalendarContract.Events。我用一个简单的选择规则(带通配符)选择了一个日历列表,所以我基本上有一个我想要的日历ID列表。我的目标是仅选择具有上一步ID列表中日历ID的事件 我想知道是否可以使用类似于SQL的选择来选择[list]中[column name]的位置,以选择特定列的值在给定的值列表中的位置(在“CalendarID IN?”的行中,并将ID列表作为参数传递) 目前我正在考虑构建选择字

我正在做一个基本项目,涉及
CalendarContract.Calendars
CalendarContract.Events
。我用一个简单的选择规则(带通配符)选择了一个日历列表,所以我基本上有一个我想要的日历ID列表。我的目标是仅选择具有上一步ID列表中日历ID的事件

我想知道是否可以使用类似于SQL的选择来选择[list]中[column name]的位置,以选择特定列的值在给定的值列表中的位置(在
“CalendarID IN?”
的行中,并将ID列表作为参数传递)

目前我正在考虑构建选择字符串来检查每个ID(下面的伪代码),但这似乎是浪费

ContentResolver cr = context.getContentResolver();

string selection="((CalendarID = ?) "; //at this point in code I know there is at least 1 ID to be checked
for(int i=1;i<calendarIDList.size();i++){
   selection+="OR (CalendarID = ?)"
}
selection+=")"
//So basically build a string like "((CalendarID = ?) OR ((CalendarID = ?).....)"
Cursor cur =cr.query(Events.CONTENT_URI, CALENDAR_PROJECTION, selection, calendarIDList, null);
ContentResolver cr=context.getContentResolver();
string selection=“((CalendarID=?)”;//在代码中的这一点上,我知道至少有一个ID需要检查
对于(int i=1;i