如何使用Kotlin从片段关闭软键盘?

问题描述 投票:1回答:1

我想从片段内部关闭软键盘。我找到了很多答案,但它们都是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)遇到麻烦

android kotlin android-softkeyboard
1个回答
4
投票

除了ContextCompat.getSystemService,一切都是正确的。使用Activity实例而不是ContextCompat

val imm = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(view!!.getWindowToken(), 0)
© www.soinside.com 2019 - 2024. All rights reserved.