如何从Kotlin函数类型返回

Rah*_*hul 6 android kotlin

我正在使用函数类型来存储要在按钮单击时调用的代码.
如何从此函数返回类型
代码如下:

var SearchClickEvent: ((searchString: String) -> Unit)? = null

inputDialog!!.SearchClickEvent = Search_Click  

private val Search_Click = { searchString: String ->
    if(searchString.isEmpty()){
        return//Error msg : return is not allowed here  
        //How to return from here
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:我将一段代码存储在一个不调用或写入任何函数的变量中

hol*_*ava 8

你需要在lambda中创建一个带有显式return语句的标签,例如:

//   label for lambda---v
val Search_Click = action@{ searchString: String ->
    if (searchString.isEmpty()) {
        return@action;
    }
    // do working
}
Run Code Online (Sandbox Code Playgroud)

或者将if语句反转如下:

val Search_Click = { searchString: String ->
    if (!searchString.isEmpty()) {
      // do working
    }
}
Run Code Online (Sandbox Code Playgroud)