不幸的是,如果您只想要开始日期和结束日期之间的事件数,则需要计算它们。 Enumeration
不提供任何接口来获取元素的数量。
EventList eventList = (EventList)PIM.getInstance().openPIMList(
PIM.EVENT_LIST, PIM.READ_WRITE);
Enumeration eventsList = eventList.items(EventList.STARTING, startDateEvent, endDateEvent, false);
int numEvents = 0;
while (eventsList.hasMoreElements()) {
eventsList.nextElement();
numEvents++;
}
System.out.println("There are " + numEvents + " events in the list");
如果在此计数后仍想遍历列表,则需要通过再次Enumeration
调用来获取新对象。eventList.items()
但是,如果您想要整个 中的事件数eventList
,则可以通过将完整列表转换为 a 来获得大小BlackBerryEventList
:
来自BlackBerry API 文档:
当指定 pimListType==PIM.EVENT_LIST 时从 PIM.openPIMList() 检索到的任何 EventList 实例都将是 BlackBerryEventList 的一个实例,并且可以成功地转换为 BlackBerryEventList(如果需要),以便使用 RIM 扩展功能。
所以,你应该做的是将你的列表转换为 a BlackBerryEventList
(或 a BlackBerryPIMList
),然后你可以这样做:
EventList eventList = (EventList)PIM.getInstance().openPIMList(
PIM.EVENT_LIST, PIM.READ_WRITE);
if (eventList instanceof BlackBerryEventList) { // should always succeed
BlackBerryEventList bbEventList = (BlackBerryEventList)eventList;
int sizeOfList = bbEventList.size();
}