2011-09-28 1 views
1

J'essaie d'ajouter un nouvel événement dans le calendrier android. Voici le code que je utiliseInsérer une nouvelle entrée dans le calendrier android

Intent intent = new Intent(Intent.ACTION_EDIT); 
        intent.setType("vnd.android.cursor.item/event"); 
        intent.putExtra("title", event.getSummary()); 
        intent.putExtra("description", event.getDescription()); 
        intent.putExtra("eventLocation", event.getLocation()); 
        intent.putExtra("dtstart", event.getStartDate()); 
        if(event.getEndDate() == null) 
        { 
         intent.putExtra("allDay", true); 
        } 
        else 
        { 
         intent.putExtra("dtend", event.getEndDate()); 
        } 

        startActivity(intent); 

Je cette méthode de mise en œuvre dans une catégorie distincte qui n'est pas une classe d'activité. Donc j'étends la classe d'activité ici. Lorsque j'exécute la dernière ligne startActivity (intention);

J'obtiens une exception java nullpointer.

Aucune idée de comment procéder.

Comment ajouter une entrée dans le calendrier android? Merci

Répondre

1

Installez-vous votre classe d'activité avec new? Tu ne peux pas faire ça. Les classes d'activité doivent être instanciées par OS pour être fonctionnelles.

Solution:

Vous devez avoir une référence à Context pour appeler context.startActivity(..). Passez une instance de contexte à votre classe dans le constructeur. Astuce: toutes les activités sont des contextes, il suffit de faire new MyClass(this) à partir d'une activité.

De plus, votre classe n'a pas besoin d'étendre l'activité.

Questions connexes