0

私はこの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));
}

そのformatDateをMM/dd / yyyyの形式で使用して、2つの日付を比較しました。タイムスタンプだけを比較しても機能しません("> = "を使用)

ところで、トーストが変更されているので、比較されている値を確認できます...ミリ秒単位では実際には異なりますが、MM / dd / yyにフォーマットすると、同じように表示されます...しかし、 ifの部分を通過するとelseの部分に移動します。iformattedDateをlogcat、以下のlogcatに記録しました。

Logcatログ ここに画像の説明を入力してください

4

2 に答える 2

1

formatDateから返された文字列を比較するequals代わりに、を使用する必要があります。==

if(cw.getDate() >= currentTime || formatDate(cw.getDate()).equals(formatDate(currentTime)))
于 2012-07-31T13:51:17.943 に答える
0

すべての入力を現在の日付と比較しているため、ポップアップが表示されません。以前の日付を追加して他の値を入力し、もう一度試してみてください。

于 2012-07-31T13:51:40.500 に答える