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

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
    }
}

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

最佳答案

您需要使用lambda中的显式return语句创建label,例如:

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

反转if语句,如下所示:
val Search_Click = { searchString: String ->
    if (!searchString.isEmpty()) {
      // do working
    }
}

关于android - 如何从Kotlin函数类型返回,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44772515/

10-10 18:25