问题
使用 Chat SDK时,有时如果我在输入时离开在线交谈活动,键盘将保持打开状态,我需要手动关闭。如何避免此情况?
答案
发生此情况时,最简单的解决方案是每次返回 Chat UI 中的主要活动时强制关闭键盘。
在下面的例子中,主活动正在启动 Chat UI。当您关闭 Chat 用户界面后,这将是您返回的活动。在此范例中,脚本创建了一个方法,使 MasterActivity 在视图启动时隐藏键盘。请查看以下 Kotin 中的代码范例。
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()
}
}
}
确保已检查 connectionStatus
于 onStart
活动回调,查看 Chat 是否处于状态 ConnectionStatus.DISCONNECTED
,这意味着 MessagingActivity
已关闭,然后整合者可以 hideKeyboard
。
翻译免责声明:本文章使用自动翻译软件翻译,以便您了解基本内容。 我们已采取合理措施提供准确翻译,但不保证翻译准确性
如对翻译准确性有任何疑问,请以文章的英语版本为准。