2011-08-01 32 views
47

Estoy usando una vista personalizada EditText. He anulado el evento OnKeyUp y puedo capturar la tecla Enter presionar. Ahora mi requisito es, cuando el usuario ha ingresado un texto "Hola. ¿Cómo estás?" y luego mantiene el cursor después de la palabra "are" y presione enter, necesito obtener la ubicación del cursor para poder extraer el texto después del cursor en el momento en que se presionó la tecla Enter. Por favor, hágame saber cómo hacer esto. Gracias por su tiempo y ayuda.Obtener la posición del cursor en Android en Editar texto?

Respuesta

112

Puede obtener la posición del cursor utilizando los métodos getSelectionStart() y getSelectionEnd(). Si no se resalta ningún texto, getSelectionStart() y getSelectionEnd() devuelven la posición del cursor. Así que algo como esto debe hacer el truco:

myEditText.getSelectionStart(); 

o

myEditText.getSelectionEnd(); 

Entonces, si usted desea seleccionar todo el texto después del cursor se puede utilizar esto:

int cursorPosition = myEditText.getSelectionStart(); 
CharSequence enteredText = myEditText.getText().toString(); 
CharSequence cursorToEnd = enteredText.subSequence(cursorPosition, enteredText.length()); 
Cuestiones relacionadas