如何在Android 4.0默认日历中添加事件?

在这里输入图像说明

在Android 4.0默认日历中,如果我们想要移动到下个月,那么我们需要滚动日历,但我需要通过按上面的图像中存在的箭头移动到下一个或上个月。 而且我想添加到默认的日历。 如果添加事件,那么该date应该像在图像中被标记。

我用这个CalendarView。

<CalendarView android:id="@+id/calendarView1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" /> 

我想知道如何使用添加事件到这个CalendarView务实。

Solutions Collecting From Web of "如何在Android 4.0默认日历中添加事件?"

移到下个月或上个月,您可以使用以下代码:

  mButtonNext = (Button) findViewById(R.id.buttonNext); mButtonNext.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Calendar cal = new GregorianCalendar(); cal.setTimeInMillis(mCalendarView.getDate() ); cal.add(Calendar.MONTH, 1); mCalendarView.setDate(cal.getTimeInMillis(), true, true); } }); mButtonPrevious = (Button) findViewById(R.id.buttonPrevious); mButtonPrevious.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Calendar cal = new GregorianCalendar(); cal.setTimeInMillis(mCalendarView.getDate() ); cal.add(Calendar.MONTH, -1); mCalendarView.setDate(cal.getTimeInMillis(), true, true); } }); 

如果你想在默认的日历中添加一个事件 ,你必须看到链接@adam2510张贴。 以下是您可以使用的示例代码:

 public void addEvent() { ContentResolver cr = mContext.getContentResolver(); ContentValues eventValues = new ContentValues(); eventValues.put(Events.TITLE, "title"); eventValues.put(Events.EVENT_LOCATION, "location"); eventValues.put(Events.DTSTART, startTimeMilliseconds); eventValues.put(Events.DTEND, endTimeMilliseconds); eventValues.put(Events.CALENDAR_ID, "1");//Defaul calendar eventValues.put(Events.EVENT_TIMEZONE, TimeZone.SHORT); cr.insert(Events.CONTENT_URI, eventValues); } 

但是, CalendarView不能用于事件。 在Android文档中,您可以阅读这个CalendarView

“这个类是显示和selectdate的日历小部件”。

我找不到一个简单的方法来改变单元格属性。
如果你想在你自己的caledar中添加事件,最好实现自己的日历,在那里你可以改变所有视图的属性。 您可以在google.com中find大量的日历实施