Lambda表达式

在项目中遇到了这样的问题认识到了lambda

(int x, int y) -> x-y;//lambda表达式接收x和y这两个整形参数并返回它们的差;

( ) -> 2;//lambda表达式不接收任何参数,直接返回整数2;

(String s) -> { System.out.println(s); }//lambda表达式接收一个字符串并把它打印到控制台。

 

回调监听没法实现传递

private var select: SelectList? = null
interface SelectList {
fun select(text: String)
}
fun OnSelectList(listener: (SelectList) -> Unit){
select = listener // 这里的listener一直报红
}

有可能是在主方法中调的问题??   hsMain!!.OnSelectList {}

  找到问题了,后来终于找到问题,很开心,当然查找资料还有好多解决方法,后面还会更新!!!

hsMain!!.OnSelectList(object :HorizontalSelectedView.SelectList{
override fun select(text: String) {
Toast.makeText(this@MainActivity,text,Toast.LENGTH_SHORT).show()
}
})
杂样是不是很简单,
posted @ 2017-06-22 17:23  dub  阅读(115)  评论(0编辑  收藏  举报