2010-01-21 32 views
5

requestFocus() mueve el cursor al cuadro de edición, pero no lo resalta. Quiero resaltarlo como si hubiera sido tocado.Android: ¿Cómo resaltar EditText programmatically?

¿Cómo puedo hacer esto?

+0

Hm .. Creé un caso de uso simple, y funciona como se esperaba con requestFocus(). Necesita aclarar qué está pasando en el escenario real. – alex2k8

Respuesta

22

Prueba esto:

_field.setSelection(int startIndex, int endIndex); 

El primer parámetro startIndex es el punto de la cadena donde desea comenzar destacando y el parámetro endIndex es el punto en el que desea dejar de destacar.

Si desea seleccionar todo el texto usar este lugar:

_field.selectAll(); 
+2

Lo siento, parece que no fui lo suficientemente explícito ... Estoy hablando de resaltar el área de edición, no la selección de texto. – alex2k8

7

He encontrado un fallo. Mi código es algo como esto:

edit = new EditText(); 
edit.requestFocus() 
container.addView(edit); 

Se movió el cursor a la nueva 'editar', pero no resaltarlo. Esto lo solucionó:

edit = new EditText(); 
container.addView(edit); 
edit.requestFocus();