Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Kotlin:正在尝试将以下函数添加到全局共享文件,以便在多个活动中使用,但不断出现不同的错误_Android_Kotlin - Fatal编程技术网

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”您需要在此处导入活动类,仅此而已