我在下面有这个CalendarView
如果我点击那天是今天的日期,它会弹出一个对话框..但是如果你在CurrentDate之前点击一个日期,这个日历就不会弹出它只会说你不能在当前日期/时间之前添加事件..如果我点击今天的日期后的任何一天,并且运行良好,但是当我点击今天的日期时,我会说一条消息,就像我点击它之前的日期...
这是我的比较日期的代码
long currentTime;
Date curr = new Date();
currentTime = curr.getTime();
if(cw.getDate() >= currentTime || formatDate(cw.getDate()) == formatDate(currentTime))
{
Dialog d = new Dialog(ScheduleActivity.this);
//some code for setting up the dialog
d.show();
}
else
{
Toast toast = Toast.makeText(ScheduleActivity.this, Long.toString(cw.getDate())+" || "+Long.toString(currentTime),10000);
toast.show();
Log.d("timecheck", formatDate(cw.getDate())+" || "+ formatDate(currentTime));
}
我只是使用格式为MM / dd / yyyy的formatDate来比较两个日期因为比较单独的时间戳仍然不起作用(使用“> =”)
Btw烤面包已经改变,所以我可以看到正在比较的是什么值......在毫秒时它们确实是不同的但是当我将它格式化为MM / dd / yy应该是它会看到它是相同的...但是它不会通过if部分它将转到else部分..我将logsDate记录在logcat,logcat下面..
Logcat日志
答案 0 :(得分:1)
您需要使用equals
代替==
来比较formatDate返回的字符串:
if(cw.getDate() >= currentTime || formatDate(cw.getDate()).equals(formatDate(currentTime)))
答案 1 :(得分:0)
您的弹出窗口没有显示,因为您将所有输入与当前日期进行比较尝试输入其他值进行比较,方法是添加以前的日期并再次尝试它会起作用:)