【发布时间】:2021-07-07 07:52:48
【问题描述】:
我希望键盘在我的应用程序中打开某些片段时自动出现。为此,我创建了一个扩展函数showKeyboard():
fun EditText.showKeyboard() {
this.requestFocus()
val imm = context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager?
imm?.showSoftInput(this, InputMethodManager.SHOW_IMPLICIT)
}
这个函数在片段中工作得很好,但由于某种原因,它在 BottomSheets 中不起作用。
这是我在片段中使用它的方式(这很有效 ✅):
override fun onResume() {
super.onResume()
binding.nickEdit.showKeyboard()
}
这是我在 BottomSheet 中使用它的方法(这不起作用 ❌):
override fun onResume() {
super.onResume()
binding.searchEdit.showKeyboard()
}
我尝试将showkeyboard() 函数添加到onViewCreated(),但是当BottomSheet 打开时键盘仍然没有出现。我该如何解决这个问题?
【问题讨论】:
标签: android android-softkeyboard android-bottomsheetdialog