2011-08-29 9 views
8

He escrito el código de setFocus en el botón ALERT Dialog negativo utilizando requestFocus(). Pero el color del botón no cambiará. Puedo configurar la imagen de fondo para ese botón manualmente. Pero lo necesito directamente desde el origen. Cómo enfocar el segundo botón en ALlert Dialog?¿Cómo establecer el foco en el botón negativo del diálogo de alerta de Android?

Iam enviar el fragmento de código para entender

alertbox.show(); 
alertbox.getButton(AlertDialog.BUTTON_NEGATIVE).requestFocus(); 

Incluso he intentado con

alertbox.show(); 
alertbox.getButton(AlertDialog.BUTTON_NEGATIVE).requestFocus(View.FOCUS_FORWARD) 

Por favor, cualquiera puede Responde en esta consulta?

Saludos, Android Developer

+0

¿Está ejecutando la función requestFocus() después de que se muestra el cuadro de diálogo? Según entiendo, no tendrá ningún efecto si intentas enfocar un botón antes de que el diálogo esté visible. – David

+0

después de mostrar el diálogo de alerta solo he escrito la línea anterior. – ADIT

Respuesta

11

Sólo setOnShowListener() para AlertDialog, y establecer el foco en el botón negativo.

alertDialog.setOnShowListener(new DialogInterface.OnShowListener(){ 

     @Override 
     public void onShow(DialogInterface dialog) { 

      Button negative = alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE); 
      negative.setFocusable(true); 
      negative.setFocusableInTouchMode(true); 
      negative.requestFocus(); 
     } 
    }); 
    alertDialog.show(); 
Cuestiones relacionadas