首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android Calendar一闪而过 没法创建event

2012-09-23 
Android Calendar一闪而过 无法创建event???? if (mSaveAfterQueryComplete) {??????? mLoadingCalendarsD

Android Calendar一闪而过 无法创建event

?

??? if (mSaveAfterQueryComplete) {

??????? mLoadingCalendarsDialog.cancel();

}

NND,弹的就是这个框,不对啊,count怎么会是0啊?我已经添加calendars Table了啊,导出来的db也显示有啊,奇怪?难道这个cursor遍历有问题?

继续跟踪这个cursor,QueryHandler的函数,肯定跟它的实例脱不了关系,继续找,找到了实例对象:private QueryHandler mQueryHandler;

毫无疑问,多半在onCreate()函数里实例化的,过去看看,结果一看,恍然大悟:

?

mQueryHandler = new QueryHandler(getContentResolver());

mQueryHandler.startQuery(0, null, Calendars.CONTENT_URI, CALENDARS_PROJECTION,

CALENDARS_WHERE, null , null );

原来这个CALENDARS_PROJECTION这个家伙才是罪魁祸首,看看它的本来面目:

private static final String[] CALENDARS_PROJECTION = new String[] {

??? Calendars._ID,????????? // 0

??? Calendars.DISPLAY_NAME, // 1

??? Calendars.TIMEZONE,???? // 2

};

哎,看来还是自己太懒,没有加timezone的字段,难怪一直getcount为0。

然后老老实实的重新加上timezone字段,终于大功告成(别忘了相关的package哦)。

热点排行