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()
}
})
杂样是不是很简单,