2012-08-28 9 views
7

enter image description here¿Cómo agregar eventos en el calendario predeterminado de Android 4.0?

En Android 4.0 calendario predeterminado si queremos pasar a la siguiente mes, entonces tenemos que desplazar el calendario, pero tengo que pasar al mes siguiente o anterior pulsando las flechas existían en la imagen de arriba. Y también quiero agregar al calendario predeterminado. Si agrega el evento, entonces esa fecha debe marcarse como en la imagen.

Utilicé esta vista de calendario.

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

Quiero saber cómo usar agregar evento a este CalendarioVer pragmáticamente.

+0

http://stackoverflow.com/a/7892512/1037074 Esto es lo que se necesita – adam2510

+0

@ adam2510 En 4.0 directamente que arrastrar y soltar el vista de calendario y luego cómo agregar el evento en eso. Pero en el código dado no hay un código con respecto a esto. – Venkat

+0

Esto podría ayudar a https://developer.android.com/guide/topics/providers/calendar-provider.html tomar un lok en la sección Actualizar eventos – adam2510

Respuesta

7

Para movimiento para el mes siguiente o anterior puede utilizar este código:

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

Si desea agregar un evento en el calendario predeterminado, hay que ver el enlace @ adam2510 publicado. Aquí es un código de ejemplo que puede utilizar:

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

Pero CalendarView no está hecho para ser utilizado con los eventos. En la documentación de Android, puede leer esto para CalendarView:

"Esta clase es un widget de calendario para mostrar y seleccionar fechas".

No pude encontrar una manera fácil de cambiar la propiedad de la celda.
Si desea agregar eventos en su propio calendario, es mejor implementar su propio calendario donde puede cambiar todas las propiedades de las vistas. Hay un montón de implementaciones de calendario se puede encontrar en google.com

Cuestiones relacionadas