对于我的应用程序,我需要一个仅显示截止日期为今天的待办事项的功能。我是 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 。
日期是一个 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/