¿Cómo establecer elementos de opción única dentro de AlertDialog?

No he podido establecer una lista de opción única o una lista de opción múltiple dentro de un AlertDialog.

ntenté seguir los ejemplos, pero solo recibo un cuadro de diálogo con un título, los botones Aceptar y Cancelar, y sin lista, y sin mensaje (¡lo configuré!).

Aquí está el código:

    protected Dialog onCreateDialog(int id) {
    switch (id) {
    case DIALOG_DELETE_CITY:
        CharSequence[] array = {"Red", "Blue", "Yellow"}; 
        return new AlertDialog.Builder(ShowPypData.this)
            .setTitle(R.string.city_actions_delete_label)
            .setMessage(R.string.city_actions_delete_select_label)
            .setSingleChoiceItems(array, -1, new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub

                    }
                })
            .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub

                }

            })
            .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();

                }
            }).create();
    default:
        return null;
    }

}

Lo extraño es que si comento la parte setSingleChoiceItems, puedo ver el mensaje en el cuadro de diálogo.

Respuestas a la pregunta(3)

Su respuesta a la pregunta