2012-08-28 77 views
7

enter image description here如何在Android 4.0默認日曆中添加事件?

在Android 4.0的默認日曆如果我們想要移動到下個月那麼我們就需要滾動日曆,但我需要按上面的圖片存在箭頭移動到下一個或前一個月。而且我想添加到默認日曆中。如果添加事件,那麼應該在圖像中標記該日期。

我用這個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務實。

+0

http://stackoverflow.com/a/7892512/1037074 這是你需要什麼 – adam2510

+0

@ adam2510在4.0,我們直接拖放日曆視圖,然後如何添加事件。但是在給定的代碼中沒有關於這個的代碼。 – Venkat

+0

這可能有助於https://developer.android.com/guide/topics/providers/calendar-provider.html在更新活動部分取得樂趣 – adam2510

回答

7

移動到下一個或前一個月您可以使用此代碼:

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

「此類是用於顯示和選擇日期的日曆小部件」。

我找不到改變單元格屬性的簡單方法。
如果您想在自己的caledar中添加事件,最好實施自己的日曆,以便更改所有視圖的屬性。有大量的日曆實現的,你可以在google.com找到

相關問題