如何防止日历事件冲突?

Posted

技术标签:

【中文标题】如何防止日历事件冲突?【英文标题】:How to prevent calendar event collision? 【发布时间】:2018-07-11 14:18:19 【问题描述】:

我正在使用 alamkanak/android-Week-View 库并且工作正常,但我想防止这种情况发生:

我试试这个:

        Calendar oldEndTime = null;

        Calendar oldStartTime = null;

        for (int i = 0; i < mNewEvents.size(); i++) 

            oldEndTime = mNewEvents.get(i).getEndTime();

            oldStartTime = mNewEvents.get(i).getStartTime();

        
        if ( mNewEvents.size() == 0
            || event.getEndTime().before(oldStartTime)
            || event.getStartTime().after(oldEndTime)  )

                mNewEvents.add(event);
         else 
            Toast.makeText(this, "Noop", Toast.LENGTH_SHORT).show();
        

【问题讨论】:

谁能帮帮我 【参考方案1】:

请检查您的for 循环的右括号是否设置正确。您在循环中设置oldStartTimeoldEndTime,但您的测试只完成一次 - 在循环之后。也许是这样的?

Calendar oldEndTime = null;
Calendar oldStartTime = null;
boolean collision = false;
for (int i = 0; i < mNewEvents.size(); i++) 
    oldEndTime = mNewEvents.get(i).getEndTime();
    oldStartTime = mNewEvents.get(i).getStartTime();
    if (event.getEndTime().after(oldStartTime) 
        && event.getStartTime().before(oldEndTime)) 
        collision = true;
        break;
    

if (!collision) 
    mNewEvents.add(event);
 else 
    Toast.makeText(this, "Noop", Toast.LENGTH_SHORT).show();

【讨论】:

很高兴我能提供帮助。您能否将我的答案标记为已接受的答案?非常感谢。

以上是关于如何防止日历事件冲突?的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 检测日历事件重叠冲突

从电子表格创建 Google 日历事件但防止重复

谷歌日历 API。同时修补事件时修改丢失

Vue.js与WdatePicker日历控件冲突问题的解决方案

如何发布谷歌日历的动态事件源?

如何从日历中获取我的应用程序的事件?