Frage
Wenn ich bei Verwendung des Chat -SDKdie Chataktivität während der Eingabe verlasse, bleibt die Tastatur offen und ich muss sie manuell schließen. Wie kann ich das vermeiden?
Antwort
In diesem Fall ist es am einfachsten, die Tastatur jedes Mal zu schließen, wenn Sie zur Hauptaktivität in der Chat -Benutzeroberfläche zurückkehren.
Im Beispiel unten startet die MainActivity die Chat -Benutzeroberfläche. Dies ist die Aktivität, zu der Sie zurückkehren, wenn Sie die Chat -Benutzeroberfläche schließen. In diesem Beispiel erstellt das Skript eine Methode, in der MainActivity die Tastatur beim Start der Ansicht ausblenden kann. Siehe Codebeispiel unten in 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()
}
}
}
Stellen Sie sicher, dass Sie die connectionStatus
auf dem onStart
Aktivitätsrückruf und sehen, ob der Chat im Status ist ConnectionStatus.DISCONNECTED
, was bedeutet, dass die MessagingActivity
wird verworfen, und dann kann der Integrator hideKeyboard
.
Hinweis zur Übersetzung: Dieser Beitrag wurde mit automatischer Übersetzungssoftware übersetzt, um dem Leser ein grundlegendes Verständnis des Inhalts zu vermitteln. Trotz angemessener Bemühungen, eine akkurate Übersetzung bereitzustellen, kann Zendesk keine Garantie für die Genauigkeit übernehmen.
Sollten in Bezug auf die Genauigkeit der Informationen im übersetzten Beitrag Fragen auftreten, beziehen Sie sich bitte auf die englische Version des Beitrags, die als offizielle Version gilt.