Spanish Como ocultar teclado y pasar el foco a un control

desof

Well-Known Member
Licensed User
Longtime User
Hola amigos,

Tengo esta funcion que al llamarla me trae los datos de una BD y anda ok! pero quisiera poder agregarle si es que encontro datos me esconda el teclado molesto ese que aparece y que vaya el foco al control txBuscar.


B4X:
Sub btBuscar_Click
         
   ListView1.Clear 
   
   Select Case btBuscar.Tag 
      Case "nombre"
         ProgressDialogShow("Buscando por nombre...")
         ExecuteRemoteQuery("SELECT nombre, telefono FROM telefonos WHERE nombre like'%" & txBuscar.Text  & "%' ORDER BY nombre", COUNTRIES_LIST)
      Case "telefono"
         ProgressDialogShow("Buscando por teléfono...")
         ExecuteRemoteQuery("SELECT nombre, telefono FROM telefonos WHERE telefono =" & txBuscar.Text , COUNTRIES_LIST)
      Case "domicilio"
         ProgressDialogShow("Buscando por domicilio...")
         ExecuteRemoteQuery("SELECT nombre, telefono FROM telefonos WHERE domicilio like'%" & txBuscar.Text  & "%' ORDER BY nombre", COUNTRIES_LIST)
   End Select
End Sub

Muchas Gracias
 

aviario

Active Member
Licensed User
Longtime User
Tienes que usar la libreia IME para ocultar el teclado o mostrarlo

Para enviar el foco tienes que poner el nombre del edittext.RequestFocus
 

pilbazan

Member
Licensed User
Longtime User
Yo para esconder el teclado utilizo la librería Phone y en el momento que quieras esconderlo solo pones la Subrutina que te indico y la llamas utilizando el código HideKeyboard, por ejemplo:


B4X:
Sub btBuscar_Click
.
.
'Esconder Teclado
HideKeyboard
.
.
End Sub


Sub HideKeyboard
Dim phone1 As Phone
phone1.HideKeyboard(Activity)
End Sub

Luego fíjate si realmente hace falta llevar el foco al control de texto, normalmente es el usuario quien si lo cree conveniente escribe en el cuadro o no.
 

desof

Well-Known Member
Licensed User
Longtime User
mas sobre teclado

Hay alguna forma de evitar que muestre las sugerencias de las palabras el telefono?
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

Hay alguna forma de evitar que muestre las sugerencias de las palabras el telefono?
Entra en la configuración del teclado (ajustes/Idioma e introducción/entra en los ajustes del teclado por defecto y desmarca "texto predictivo"


Y para mostrar el teclado como se puede hacer?

B4X:
Dim TecladoSoft As IME ' biblioteca IME

' mostrar el teclado
TecladoSoft.ShowKeyboard(nombre del objeto a pasar el foco)

' ocultar teclado
TecladoSoft.HideKeyboard

Saludos
 

jlerner

Member
Licensed User
Longtime User
Tengo el siguiente error...
package android.view does not exist
__ref._tecladosoft.ShowKeyboard((android.view.View)(__ref._txtnombre.getObject()));

como lo soluciono? Me encuentro programando en B4J para un Raspberri
 
Yo para esconder el teclado utilizo la librería Phone y en el momento que quieras esconderlo solo pones la Subrutina que te indico y la llamas utilizando el código HideKeyboard, por ejemplo:


B4X:
Sub btBuscar_Click
.
.
'Esconder Teclado
HideKeyboard
.
.
End Sub


Sub HideKeyboard
Dim phone1 As Phone
phone1.HideKeyboard(Activity)
End Sub

Luego fíjate si realmente hace falta llevar el foco al control de texto, normalmente es el usuario quien si lo cree conveniente escribe en el cuadro o no.
Valeu eu estava atras disso. Obrigado
 
Top