我正在使用函数类型来存储要在按钮单击时调用的代码.
如何从此函数返回类型
代码如下:
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)
注意:我将一段代码存储在一个不调用或写入任何函数的变量中
你需要在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)