2012-08-28 3 views
7

enter image description hereWie Ereignisse in Android 4.0-Standardkalender hinzugefügt werden?

In Android 4.0 Standard-Kalender, wenn wir im nächsten Monat verschieben wollen, dann müssen wir den Kalender blättern, aber ich muss durch Drücken Pfeile gab es in dem obigen Bild zum nächsten oder vorherigen Monat verschieben. Und ich möchte auch zum Standardkalender hinzufügen. Wenn das Ereignis hinzugefügt wird, sollte dieses Datum wie im Bild markiert sein.

Ich habe diese CalendarView verwendet.

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

Ich möchte pragmatisch wie Ereignis zu diesem KalenderView hinzufügen verwenden.

+0

http://stackoverflow.com/a/7892512/1037074 Dies ist, was Sie – adam2510

+0

@ adam2510 In 4.0 benötigt, direkt wir ziehen die Kalenderansicht und dann, wie Sie das Ereignis hinzufügen. Aber im gegebenen Code gibt es keinen Code diesbezüglich. – Venkat

+0

Dies könnte helfen https://developer.android.com/guide/topics/providers/calendar-provider.html nehmen Sie ein lok im Abschnitt Ereignisse aktualisieren – adam2510

Antwort

7

Um Bewegung zur nächsten oder vorherigen Monat Sie diesen Code verwenden können:

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); 
     } 
    }); 

Wenn Sie wollen eine Veranstaltung im Standardkalender hinzufügen, müssen Sie auf dem Laufenden den Link @ adam2510 sehen. Hier ist ein Beispielcode Sie verwenden können:

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); 
} 

Aber CalendarView nicht mit Ereignissen verwendet werden, gemacht. In der Android-Dokumentation können Sie dies für CalendarView lesen:

"Diese Klasse ist ein Kalender Widget zum Anzeigen und Auswählen von Datumsangaben".

Ich konnte keinen einfachen Weg finden, Zelleigenschaften zu ändern.
Wenn Sie ein Ereignis in Ihrem eigenen Caledar hinzufügen möchten, ist es besser, einen eigenen Kalender zu implementieren, in dem Sie die Eigenschaften aller Ansichten ändern können. Es gibt viel Kalender-Implementierungen Sie in google.com finden

Verwandte Themen