Android Kotlin:正在尝试将以下函数添加到全局共享文件,以便在多个活动中使用,但不断出现不同的错误
我试图将以下代码添加到一个公共文件中,以便在多个活动之间共享,但不断出现许多错误:Android Kotlin:正在尝试将以下函数添加到全局共享文件,以便在多个活动中使用,但不断出现不同的错误,android,kotlin,Android,Kotlin,我试图将以下代码添加到一个公共文件中,以便在多个活动之间共享,但不断出现许多错误: override fun dispatchTouchEvent(ev: MotionEvent?): Boolean { if (currentFocus != null) { val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager imm.hideSoftInpu
override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
if (currentFocus != null) {
val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(currentFocus!!.windowToken, 0)
}
return super.dispatchTouchEvent(ev)
}
此函数用于在单击文本编辑文本字段时折叠键盘
错误:未解析的引用:currentFocus
错误:未解析的引用:getSystemService
错误:未解析的引用:dispatchTouchEvent
您可以在共享文件中使用此功能折叠键盘
fun hideKeyboard(context: Context) {
val inputManager =
context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
val v = (context as Activity).currentFocus ?: return
inputManager.hideSoftInputFromWindow(v.windowToken, 0)
}
在Activity overridedispatchTouchEvent()函数中调用hideKeyboard()函数,如下所示:
override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
if (currentFocus != null) {
hideKeyboard(this)
}
return super.dispatchTouchEvent(ev)
}
从何处调用此函数?这是一个被重写的函数,不能在活动外部使用此函数。@Black4Guy如果不在每个活动中使用整个代码,则无法使用此函数。@Extend AppCompatActivity并将其放入其中。让您的所有活动都从此扩展。这会导致两个未解决的引用错误:-活动和windowToken这些是什么?currentFocus导致了问题?否,“活动”和“windowToken”您需要在此处导入活动类,仅此而已