【问题标题】:How to Set dot on specific date on calendar in android如何在android中的日历上的特定日期上设置点
【发布时间】:2018-07-01 22:42:26
【问题描述】:

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

提前致谢

【问题讨论】:

  • 您在查看哪个日期?
  • 2018 年 1 月 26 日星期五 00:00:00 GMT+05:00

标签: java android import kotlin


【解决方案1】:

您在此处设置时间戳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);

【讨论】:

  • 你能告诉如何将日历日期转换为毫秒吗??
  • 我正在使用 compactCalendarView ,我如何在点击日历日期时获取日期?例如,如果我点击 26 日期,它会祝酒 26-01-2018。在简单的 calendarView 中,它是使用 OnDatechangelist 完成的......但这里没有建议。
  • 你试过 compactCalendarView.setListener() 如果没有然后检查文档...
猜你喜欢
  • 2012-10-01
  • 2015-03-06
  • 2014-12-06
  • 1970-01-01
  • 1970-01-01
  • 2016-09-25
  • 2019-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多