Spanish AutoSelect de un EditText

Gabino A. de la Gala

Well-Known Member
Licensed User
Longtime User
Me gustaría poder autoseleccionar el contenido de un edittext en determinados momentos.

¿Es ésto posible de alguna forma?.

He encontrado un hilo que lo pedía como "wish", pero luego no he encontrado nada más.

Un saludo.
 

Gabino A. de la Gala

Well-Known Member
Licensed User
Longtime User
Me gustaría poder autoseleccionar el contenido de un edittext en determinados momentos.

¿Es ésto posible de alguna forma?.

He encontrado un hilo que lo pedía como "wish", pero luego no he encontrado nada más.

Un saludo.

Me respondo a mi mismo. He encontrado un SelectAll que creo que cumple con mis necesidades, pero le he encontrado un comportamiento un poco "extraño".

Voy a ver si le encuentro la "lógica".
 

Gabino A. de la Gala

Well-Known Member
Licensed User
Longtime User
Creo que ya la he encontrado. El "problema" es el orden en el que se hagan las cosas.

Lo correcto según mis pruebas sería...:

B4X:
Edit1.RequestFocus
Edit1.Text = "Valor deseado"
Edit1.SelectAll

Ahora solo me falta conseguir activar el teclado en pantalla sin tener que picar en el edit1, ya que sino, vuelvo a perder el efecto del SelectAll
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Gabino


Ahora solo me falta conseguir activar el teclado en pantalla sin tener que picar en el edit1, ya que sino, vuelvo a perder el efecto del SelectAll

Para eso tienes dos opciones, la mas simple que es con el propio código seleccionar todo, que es lo que buscas, y para que no lo pierdas como tu dices, puedes hacer esto:

B4X:
Sub Edit1_FocusChanged (HasFocus As Boolean)
 
if HasFocus then Edit1.SelectAll
  
end sub

Dices que si activas el teclado sin tener que pulsar en el edit1 tambien lo solucionarias, aunque con el ejemplo anterior ya está resuelto, por si en algun momento quieres activar el teclado, lo puedes hacer con la libreria IME, y simplemente haciendo un ShowKeyboard(View As Android) pasandole el nombre del objeto donde quieres que pases el foco del teclado, en tu caso el edit1.

Saludos
 
Top