


























private MyListener myListener;
public void setMyListener(MyListener myListener) {
this.myListener = myListener;
}
public interface MyListener {
void myFun(long timeInMillis);
}
fragment.setMyListener{
mModel.myAnotherFun(it)
}
private var myListener: MyListener? = null
fun setMyListener(myListener: MyListener) {
this.myListener = myListener
}
fun interface MyListener {
fun myFun(timeInMillis: Long)
}
fragment.setMyListener{
mModel.myAnotherFun(it)
}
private var myListener: MyListener? = null
fun setMyListener(myListener: MyListener) {
this.myListener = myListener
}
interface MyListener {
fun myFun(timeInMillis: Long)
}
fragment.setMyListener( object: MyListener {
override fun myFun(timeInMillis: Long) { // 必须实现接口
mModel.myAnotherFun(timeInMillis)
}
}
// 使用函数类型替代接口
private var myListener: ((Long) -> Unit)? = null
// 使用函数类型参数
fun setMyListener(listener: (Long) -> Unit) {
this.myListener = listener
}
// 使用(可以直接使用Lambda):
fragment.setMyListener { time ->
mModel.myAnotherFun(time)
}
// 或使用it简写:
fragment.setMyListener {
mModel.myAnotherFun(it)
}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。