如何在 Android 日历上标记选定日期
如何在 Android 日历上标记选定日期
您是否正在开发需要在日历上突出显示特定日期的 Android 应用?
本教程将指导您完成使用 CalendarView 的 setDate() 方法在 Android 日历上标记选定日期的步骤。
以下代码演示了如何在用户点击'打卡'按钮后在日历上标记选定日期:
calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
String selectedDate = formatDate(year, month, dayOfMonth);
Toast.makeText(MainActivity.this, '选择的日期:' + selectedDate, Toast.LENGTH_SHORT).show();
}
});
checkInButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String currentDate = getCurrentDate();
String currentTime = getCurrentTime();
CheckIn checkIn = new CheckIn(currentDate, currentTime);
appDatabase.checkInDao().insert(checkIn);
Toast.makeText(MainActivity.this, '打卡成功:' + currentDate + ' ' + currentTime, Toast.LENGTH_SHORT).show();
// 在日历上显示标记
SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd');
try {
Date date = sdf.parse(currentDate);
long timeInMillis = date.getTime();
calendarView.setDate(timeInMillis);
calendarView.setSelected(true);
} catch (ParseException e) {
e.printStackTrace();
}
}
});
在此代码中,当用户点击'打卡'按钮时,我们首先获取当前日期并将其格式化为 'yyyy-MM-dd'。然后,我们使用 SimpleDateFormat 将其解析为 Date 对象,并使用 getTime() 方法获取其毫秒表示形式。最后,我们使用 setDate() 方法将 CalendarView 设置为此日期,并使用 setSelected(true) 标记该日期。
现在,当您点击'打卡'按钮后,选中的日期将在日历上显示一个标记,表示打卡成功。
原文地址: https://www.cveoy.top/t/topic/bvVQ 著作权归作者所有。请勿转载和采集!