我正在制作一个显示日历日 View 的 Android 应用程序,它看起来像一个列表,上面漂浮着代表事件开始时间和结束时间的彩色 block 。
我能够正确地做所有事情,但是我想根据相同时间或重叠时间或开始时间或结束时间在其他事件的开始时间和结束时间范围内的事件对事件进行排序。
开始时间和结束时间以毫秒为单位。
我将开始时间存储在 startTimeList 中,将结束时间存储在 endTimeList 中,然后遍历列表以比较时间。
为此我写了这个方法来比较时间是否在另一个事件的开始或结束范围内
public boolean isInRange(long timeToBeCompared,long startTime,long endTime){
if(timeToBeCompared>=startTime&&timeToBeCompared<=endTime){
return true;
}
return false;
}
我通过上述方法输入第一个事件的开始时间或结束时间,并将第二个事件的开始和结束时间作为第二个和第三个参数传递,我检查它是否为真,并使用变量计数来保存相似开始和结束时间的计数.但是我的计数值是错误的。
还有其他好的方法吗?
最佳答案
试试这段代码:
/** Checks whether two intervals overlap. */
boolean overlap(long startTime1, long endTime1, long startTime2, long endTime2) {
if (endTime1 < startTime2 || startTime1 > endTime2) {
return false;
return true;
}
关于java - 如何将事件的开始时间和结束时间与其他事件的开始时间和结束时间进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9257967/