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

Tsa*_*ary 5 android android-softkeyboard kotlin

我想从片段内部关闭软键盘。我找到了很多答案,但它们都在 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)
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我在这部分遇到了麻烦 getSystemService(Context.INPUT_METHOD_SERVICE)

And*_*ilo 11

除了ContextCompat.getSystemService. 改用Activityinstance ContextCompat

val imm = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(view!!.getWindowToken(), 0)
Run Code Online (Sandbox Code Playgroud)

  • 那个观点!很可能会让你的应用程序崩溃 (2认同)