如何在 Android 日历上标记选定日期

您是否正在开发需要在日历上突出显示特定日期的 Android 应用?

本教程将指导您完成使用 CalendarViewsetDate() 方法在 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) 标记该日期。

现在,当您点击'打卡'按钮后,选中的日期将在日历上显示一个标记,表示打卡成功。

如何在 Android 日历上标记选定日期

原文地址: https://www.cveoy.top/t/topic/bvVQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录