有人知道与使用回调方法不同的将函数传递给DialogFragment的方法吗?这种方法需要尊重Android OS(按系统杀死组件)。
答案 0 :(得分:0)
不确定您想要什么,但是可以在片段中创建一个作为public var的函数,如下所示:
class MyFragment : Fragment(){
...
var myFunction: (() -> Unit)? = null
...
}
如果要传递变量或返回某些内容,请将函数更改为:
var myFunction: ((text: String, b: Boolean) -> String)? = null
您可以通过以下方式调用此函数:
myFunction.invoke()
并传递如下参数:
myFunction.invoke("title", true)
实现myFunction
:
val fragment = MyFragment .newInstance().apply {
myFunction = {
//do something
}
//with parametrs
myFunction = { s: String, b: Boolean
//do something
return "text"
}
}