Android AlertDialog avec changement dynamique de texte sur chaque demande

Je veux montrer un AlertDialog avec une option qui peut changer à chaque requête. Ainsi, par exemple, à un moment j'en veux pour preuve l'option "ajouter aux contacts", tandis que d'un autre temps, il faut "retirer des contacts".

Mon code fonctionne bien sur la première fois, cependant, Android semble cache l'AlertDialog de sorte que onCreateDialog n'est pas exécuté la prochaine fois. Par conséquent, l'option de ne plus rien faire. Puis-je éviter la mise en cache, ou est-il juste une autre façon de changer l'option?

Je suis en train de travailler avec le SDK 1.5 mais en utilisant 1.1.

@Override
protected Dialog onCreateDialog(final int id) {
    ...
    String add_remove_contact = res.getString(R.string.profile_add_to_contacts);
    if (user.getContacts().contains(profileID)) {
        add_remove_contact = res.getString(R.string.profile_remove_from_contacts);
        //TODO: this string is not changed when contact status changes 
    }
    final CharSequence[] items = {res.getString(R.string.view_profile),
                                  res.getString(R.string.profile_send_message),
                                  add_remove_contact};
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    ...
    return builder.create();
}