Pergunta
Ao usar o SDK do Chat, às vezes, se eu sair da atividade de chat enquanto digito, o teclado permanece aberto e tenho que fechá -lo manualmente. Como posso evitar isso?
Resposta
Quando isso ocorre, a solução mais fácil é forçar o fechamento do teclado sempre que você voltar para a atividade principal na interface do usuário do Chat.
No exemplo abaixo, a MainActivity está iniciando a interface do usuário do Chat. Essa será a atividade para a qual você voltará após fechar a interface do usuário do Chat. Neste exemplo, o script cria um método no qual MainActivity oculta o teclado quando a visualização é iniciada. Veja o exemplo de código abaixo em 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()
}
}
}
Certifique -se de verificar o connectionStatus
no onStart
retorno de chamada de atividade e ver se o chat está no estado ConnectionStatus.DISCONNECTED
, o que significa que o MessagingActivity
é descartado e o integrador pode hideKeyboard
.
Aviso sobre a tradução: este artigo foi traduzido por um software de tradução automática para oferecer a você uma compreensão básica do conteúdo. Medidas razoáveis foram tomadas para fornecer uma tradução precisa, no entanto, a Zendesk não garante a precisão da tradução.
Em caso de dúvidas relacionadas à precisão das informações contidas no artigo traduzido, consulte a versão oficial do artigo em inglês.