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

标签 java android import kotlin

这是点击日期的代码显示事件,但在事件日期不可见 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);

时间戳 1477040400000L2016 年 10 月 21 日星期五 09:00:00 GMT +5:30 所以检查那个日期

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

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

enter image description here

关于java - 如何在android中的日历上的特定日期设置点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48396184/

相关文章:

java - 即使指定了类路径也缺少 jar 文件

java - hibernate 更新查询

android - 如果我使用 HashMap,我应该如何在 BaseAdapter getView() 中迭代

Python 循环导入

php - 如何使用@import 连接 CSS 文件?

excel - 将 Excel 表数据传输到 SQL 2008R2 的最快方法

java - 如何从带有基本适配器的 GridView 中选择单个编辑文本框?

java - 闪屏后崩溃

javascript - 安卓 : Inject JavaScript before loading the URL in webview

android - 如何在 Eclipse 中从我的 Android 项目中删除依赖项