java - 在 Android 应用中仅显示截止日期为今天的待办事项

标签 java android date listview calendar

对于我的应用程序,我需要一个仅显示截止日期为今天的待办事项的功能。我是 Android Studio 和 Java 的新手,所以很遗憾我不知道如何编写这段代码。

到目前为止,这是我的代码:

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getIdemid()) {
        case R.id.menu_dailyToDo:
            showDailyTodo();
            adapter.notifyDataSetChanged();
            return true;
       }
    }
}

public void showDailyTodo() {
    if(tvDueDate == //today) {
        // code that listview items with duedate today are shown.
    }
}

到目前为止我能找到的一切都帮不了我。

编辑

在图片中你可以看到我的 ListView 。

enter image description here

日期是一个 ID 为 tvDueDate 的 TextView。

最佳答案

您可以使用 System.currentTimeMillis() 将当前时间作为 long 数据类型获取到毫秒。

您可以使用 Date d = new Date(); 将日期作为 Date 对象获取,并将其转换为所需格式的字符串,如

Date d = new Date();
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(d);

这取决于您在 tvDueDate 中存储日期的数据类型和格式。

然后您可以将 Todos Items 设置到 ListView 适配器中,如本文所示 Custom Adapter for List View

编辑

您可以使用字符串获取截止日期

String dueDate = tvDueDate.getText().toString();

然后做

public void showDailyTodo() {
Date d = new Date();
SimpleDateFormat df = new SimpleDateFormat("dd.mm.yyyy");
String formattedDate = df.format(d);
if(dueDate.equals(formattedDate)) {
    // code that listview items with duedate today are shown.
}
}

关于java - 在 Android 应用中仅显示截止日期为今天的待办事项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54157286/

相关文章:

java - 轻量级、可折叠的 Executor 实现?

java.lang.NoClassDefFoundError : Failed resolution Failed resolution of: Lcom/google/android/gms/common/internal/zzab;

java - Android - 如何制作一个改变两个值的微调器

mysql - CURRENT_DATE/CURDATE() 不能作为默认 DATE 值工作

python - 转换日期对象中的字符串(包含其他字符串) - Python

java - 每次获取 shell 脚本 255 的退出值

java - 如何在不定义位置的情况下读取文本文件?

java - 无法导入SDK DJI android

java - 将数据导入到不同平台上的Java程序中?

objective-c - NSDateFormatter 不会使用区域设置解析日期?