Pregunta
Cuando uso el SDK de Chat, a veces si dejo la actividad de chat mientras escribo, el teclado permanece abierto y tengo que cerrarlo manualmente. ¿Cómo puedo evitarlo?
Respuesta
Cuando esto sucede, la solución más fácil es cerrar a la fuerza el teclado cada vez que regrese a la actividad principal en la interfaz de usuario de Chat.
En el ejemplo a continuación, MainActivity está iniciando la interfaz de usuario de Chat. Esta será la actividad a la que regresará una vez que cierre la interfaz de usuario de Chat. En este ejemplo, el script crea un método en el cual MainActivity oculta el teclado cuando se inicia la vista. Vea el ejemplo de código a continuación en Kotlin.
class MainActivity : AppCompatActivity() {
private fun hideKeyboard() {
val view = currentFocus ?: View(this)
val inputMethodManager = getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(view.rootView.windowToken, 0)
inputMethodManager.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0)
view.clearFocus()
}
override fun onStart() {
super.onStart()
if (Chat.INSTANCE.providers()?.connectionProvider()?.connectionStatus == ConnectionStatus.DISCONNECTED) {
hideKeyboard()
}
}
}
Asegúrese de verificar la connectionStatus
en el onStart
devolución de llamada de actividad y ver si el chat está en estado ConnectionStatus.DISCONNECTED
, lo que significa que el MessagingActivity
se descarta y el integrador puede hideKeyboard
.
Descargo de responsabilidad de la traducción: Este artículo ha sido traducido usando software de traducción automática para proporcionar una idea básica del contenido. Se han realizado esfuerzos razonables para proporcionar una traducción exacta, sin embargo, Zendesk no garantiza la exactitud de la traducción.
Si surge alguna pregunta relacionada con la exactitud de la información incluida en el artículo traducido, consulte la versión en inglés del artículo, que es la versión oficial.