我想从片段内部关闭软键盘。我找到了很多答案,但它们都是Java语言。通常我可以很容易地将它转换到Kotlin,但我很难用这个。
我得到的最接近的是:
fun closeKeyboard() {
val activity = activity as FeedActivity
val view = activity.currentFocus
if (view != null) {
val imm = ContextCompat.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager?
imm!!.hideSoftInputFromWindow(view!!.getWindowToken(), 0)
}
}
但我在这部分getSystemService(Context.INPUT_METHOD_SERVICE)
遇到麻烦
除了ContextCompat.getSystemService
,一切都是正确的。使用Activity
实例而不是ContextCompat
。
val imm = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(view!!.getWindowToken(), 0)