#android #date #calendar #android-alertdialog
#Android #Дата #Календарь #android-alertdialog
Вопрос:
Я пытаюсь вызывать AlertDialog на определенную дату каждый год при запуске приложения в определенный день, который определен, но что-то не получается, и я прошу вашей помощи. Обратите внимание, например, 11 ноября каждого года необходимо запускать AlertDialog весь день при запуске приложения, а при запуске 12 ноября AlertDialog не будет отображаться до 11 ноября следующего года. Заранее спасибо.
Calendar start = Calendar.getInstance();
start.set(Calendar.YEAR, Calendar.NOVEMBER, 11);
Date today = start.getTime();
if(start.equals(today)){
showStartDialog();
}
Ответ №1:
Вы можете попробовать
Calendar start = Calendar.getInstance();
Date today = start.getTime();
start.set(calendar.get(Calendar.YEAR), Calendar.NOVEMBER, 11)
if(start.getTime().equals(today)){
showStartDialog();
}
Или вы можете просто
Calendar start = Calendar.getInstance();
int month = start.get(Calendar.MONTH)
int dayOfMonth = start.get(Calendar.DAY_OF_MONTH)
if (month == Calendar.November amp;amp; dayOfMonth == 11) { ...}
Комментарии:
1. У вас есть еще какое-нибудь решение, потому что это не работает, спасибо.
2. Что вы получаете, когда звоните
calendar.get(Calendar.MONTH)
иcalendar.get(Calendar.DAY_OF_MONTH)
?3. Дата сегодня = start.getTime(); если(calendar.equals(сегодня)){ showStartDialog(); }
4. Я не понимаю вашей логики. Вы меняете календарь и переносите его на 11 ноября, а затем, если календарь равен дате.
start
это календарь, а сегодня — дата, они никогда не будут равны