【问题标题】:Call AlertDialog on a specific date each year在每年的特定日期调用 AlertDialog
【发布时间】:2020-11-11 12:46:50
【问题描述】:

我尝试在每年的某个特定日期启动一个应用程序时调用 AlertDialog,该日期已定义但出现故障,我寻求您的帮助。注意,例如每年的11月11日,启动应用程序时需要全天运行AlertDialog,而11月12日开始时,AlertDialog要到次年的11月11日才会显示。提前致谢。

    Calendar start = Calendar.getInstance();
    start.set(Calendar.YEAR, Calendar.NOVEMBER, 11);
    Date today = start.getTime();
    if(start.equals(today)){
        showStartDialog();
    }

【问题讨论】:

    标签: android date calendar android-alertdialog


    【解决方案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 && dayOfMonth == 11) { ...}
    

    【讨论】:

    • 你还有什么解决办法,因为这不起作用,谢谢。
    • 拨打calendar.get(Calendar.MONTH)calendar.get(Calendar.DAY_OF_MONTH)会得到什么?
    • 今天日期 = start.getTime(); if(calendar.equals(today)){ showStartDialog(); }
    • 我不明白你的逻辑。您正在更改日历并将其移至 11 月 11 日,如果日历与日期相同,那么您就是这样。 start 是日历,而今天是日期,它们永远不会相等
    猜你喜欢
    • 1970-01-01
    • 2019-09-04
    • 2022-10-25
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多