我需要从日历中提取的事件中找到存储在EventList中的事件数。
找不到size()
方法。
以下是代码
EventList eventList = (EventList)PIM.getInstance().openPIMList(
PIM.EVENT_LIST, PIM.READ_WRITE);
Enumeration eventsList = eventList.items(EventList.STARTING, startDateEvent, endDateEvent, false);
如何在eventsList Enumeration中找到事件数?
答案 0 :(得分:1)
不幸的是,如果您只想要开始日期和结束日期之间的事件数量,则需要对它们进行计数。 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
中的事件数量,那么您可以通过将完整列表转换为BlackBerryEventList
来获取大小:
从PIM.openPIMList()检索的任何EventList实例 当指定pimListType == PIM.EVENT_LIST将是一个实例 BlackBerryEventList可以成功转换为 BlackBerryEventList,如果需要,以便使用RIM扩展 功能。
那么,您应该做的是将您的列表转换为BlackBerryEventList
(或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();
}