如何在android中的日历上的特定日期设置点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在android中的日历上的特定日期设置点相关的知识,希望对你有一定的参考价值。

这是点击日期的代码显示事件,但在事件日期我看不到可见DOT我试图做但没有发生任何事情。

package com.example.mis_internee.mycalentest;

import android.content.Context;
import android.graphics.Color;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

import com.github.sundeepk.compactcalendarview.CompactCalendarView;
import com.github.sundeepk.compactcalendarview.domain.Event;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

import static android.graphics.Color.RED;

public class MainActivity extends AppCompatActivity {

    CompactCalendarView compactCalendar;
    private SimpleDateFormat dateFormatMonth = new SimpleDateFormat("MMMM- yyyy", Locale.getDefault());

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
        actionBar.setTitle(null);

        compactCalendar = (CompactCalendarView) findViewById(R.id.compactcalendar_view);
        compactCalendar.setUseThreeLetterAbbreviation(true);
        compactCalendar.setEventIndicatorStyle(Color.BLACK);
        compactCalendar.setCurrentDayBackgroundColor(RED);
        compactCalendar.getEvents(3223213);

        //Set an event for Teachers' Professional Day 2016 which is 21st of October

        Event ev1 = new Event(Color.BLACK, 1477040400000L, "Teachers' Professional Day");
        compactCalendar.addEvent(ev1);

        compactCalendar.setListener(new CompactCalendarView.CompactCalendarViewListener() {
            @Override
            public void onDayClick(Date dateClicked) {
                Context context = getApplicationContext();

                if (dateClicked.toString().compareTo("Fri Jan 26 00:00:00 GMT+05:00 2018") == 0) {
                    Toast.makeText(context, "Teachers' Professional Day", Toast.LENGTH_SHORT).show();
                }else {
                    Toast.makeText(context, "No Events Planned for that day", Toast.LENGTH_SHORT).show();
                }


            }

            @Override
            public void onMonthScroll(Date firstDayOfNewMonth) {
                actionBar.setTitle(dateFormatMonth.format(firstDayOfNewMonth));
            }
        });
    }
}

提前致谢

答案

你在这里设置时间戳1477040400000L

Event ev1 = new Event(Color.BLACK, 1477040400000L, "Teachers' Professional Day");
        compactCalendar.addEvent(ev1);

时间戳1477040400000LFriday, 21 October 2016 09:00:00 GMT +5:30所以检查那个日期

如果你想设置Fri Jan 26 00:00:00 GMT+05:00 2018设置

Event ev1 = new Event(Color.BLACK,1516924800000L, "Teachers' Professional Day");
        compactCalendar.addEvent(ev1);

enter image description here

以上是关于如何在android中的日历上的特定日期设置点的主要内容,如果未能解决你的问题,请参考以下文章

无法前往完整日历上的特定日期

在日历中的特定日期显示背景颜色的问题,在除移动 Safari 之外的所有浏览器上都可以正常工作

如何在android中的特定时间和日期获得警报?

点在图片上 显示日历框 可以选择日历上的日期 来查询对应时间数据库的信息 这个JSP代码怎么写

如何在 Google 日历 API v3 中获取特定日期的日历数据?

如何为 Android 中的日期和时间选择器对话框设置的特定时间和日期设置通知