我在kotlin中有一个静态方法来隐藏软键盘,如果我通过EditText,TextView作为方法的第二个参数,它在java中工作。
但是在kotlin中它会出错,
错误:(56,71)类型不匹配:推断类型是EditText?但预计会看到
我试图在功能中将View更改为EditText,但它不适用于TextView
还尝试将View更改为Any,但applicationWindowToken会出错。
这是应用程序中的常见功能。
companion object {
fun hideSoftKeyboard(activity: Activity, view: View) {
val imm = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(view.applicationWindowToken, 0)
}
}
答案 0 :(得分:2)
尝试将代码View
更改为View?
companion object {
fun hideSoftKeyboard(activity: Activity, view: View?) {
view?.let {
val imm = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(it.applicationWindowToken, 0)
}
}
}