当前位置: 首页 > 面试题库 >

Android日历重复活动的结束日期/时间有误

张通
2023-03-14
问题内容

这是我的代码,用于查看从ListActivity中选择的事件(events是包含所有这些事件的ArrayList):

Uri viewUri = Uri.parse("content://com.android.calendar/events/" + events.get(position).id);
Intent l_intent = new Intent(Intent.ACTION_VIEW);
l_intent.putExtra("beginTime", Long.parseLong(events.get(position).startTime));
l_intent.putExtra("endTime", Long.parseLong(events.get(position).endTime));
startActivity(l_intent);

此代码对重复发生的事件以外的所有事件均适用。对于重复发生的任何事件,endTime返回为null,从而导致程序崩溃。有人知道如何解决这个问题吗?我还有其他需要通过的额外费用吗?


问题答案:

beginTime和endTime可以为0 / null,因为您是从错误的数据库(当然是从 事件 数据库)获得的。您应该改为使用 实例
数据库(例如,SDK 8上的“ content://com.android.calendar/instances/when/”)。

实例 DB,你会得到所有“真正的”事件:有,每个重复事件具有作为根据需要,用正确的开始和结束时间戳许多情况下; 其他事件也可见。您只需阅读这些字段-
event_id,begin,end-并使用它们打开您的Intent。



 类似资料:
  • 我正在颤振中创建一个表单,其中一个字段是出生日期。我使用了日期时间选择器来选择日期并显示输出。我想格式化我得到的日期,只显示月份、日期和年份。以下是当前的日期格式。我希望它的格式为。这是我想出的代码

  • endpoint=https://www.googleapis.com/calendar/v3/calendars/George.albrecht%40xxx.com/events,method=get

  • 我得到一个日历实例 在一个移动显示周六为周末而在另一个它显示周日为周末两个设备的时区是相同的 如果我将日历实例区域设置为美国或任何其他国家/地区,它可以完美运行。但我不希望它是恒定的。我希望它是区域性的,但在所有设备上都是一致的 如果时区相同,我希望两台设备上的周末都一样

  • 问题内容: 有时,我会对Java中不同的Date类型及其实际用法感到困惑。在这里我想总结一下我的理解 毫秒值左右的精简包装,可让JDBC将其标识为SQL DATE值 围绕java.util.Date的瘦包装器,该包装器允许JDBC API将其标识为SQL TIMESTAMP值。通过允许小数秒的精度达到纳秒级,它增加了保存SQL TIMESTAMP小数秒值的能力。 我已经看到大多数项目都更喜欢时间戳

  • 问题内容: 我想检查日期是否在开始日期和结束日期之间。 我添加了一个where子句 但问题在于它不包含“ 2010-04-15”。 它应该包括结束日期,我该怎么办? 请帮我 问候, 潘卡 问题答案: 明确指定时间部分:

  • 我有两个日历日期,我得到了天、小时和分钟之间的差异。 如果结束日期大于开始日期,则此操作非常有效。如果开始日期与结束日期在一周中的同一天,但早于结束日期,则不起作用。例如:结束日期为周六下午2:20,开始日期为周六下午7:20。它的计算时间大约为0天5小时。但是,应该是7天。 这是代码 如何处理结束日期与开始日期同一天,但结束日期是开始日期之前的时间? 谢谢 编辑 我想我解决了我的问题。我为其他有