Question
Quand vous utilisez le SDK Chat, parfois, si je quitte l’activité de chat pendant que vous tapez, le clavier reste ouvert et je dois la fermer manuellement. Comment éviter cela?
Réponse
Dans ce cas, la solution la plus simple consiste à fermer le clavier de force chaque fois que vous revenez à l’activité principale dans l’interface Chat.
Dans l’exemple ci-dessous, MainActivity lance l’interface Chat. Ce sera l’activité à laquelle vous reviendrez une fois que vous aurez fermé l’interface Chat. Dans cet exemple, le script crée une méthode dans laquelle MainActivity masque le clavier au démarrage de la vue. Consultez l’exemple de code ci-dessous dans 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()
}
}
}
N’oubliez pas de vérifier la connectionStatus
le onStart
de l’activité et voir si le chat est dans l’état ConnectionStatus.DISCONNECTED
, ce qui signifie que MessagingActivity
est ignoré et l’intégrateur peut hideKeyboard
.
Traduction - exonération : cet article a été traduit par un logiciel de traduction automatisée pour permettre une compréhension élémentaire de son contenu. Des efforts raisonnables ont été faits pour fournir une traduction correcte, mais Zendesk ne garantit pas l’exactitude de la traduction.
Si vous avez des questions quant à l’exactitude des informations contenues dans l’article traduit, consultez la version anglaise de l’article, qui représente la version officielle.