美文网首页
Kotlin使用二

Kotlin使用二

作者: caym | 来源:发表于2017-06-09 11:00 被阅读9次
image.png image.png

lambda表达式

Java中,如果要使用View.setOnClickListener(),首先需要编写一个OnClickListener接口:

public interface OnClickListener{
      void onClick(View v);
}

然后需要编写一个匿名内部类去实现这个接口:

view.setOnClickListener(new OnClickListener(){
  
    @Override
    public void onClick(View v){
      Toast.makeText(v.getContext(),"click",Toast.LENGTH_SHORT).show();
    }

});

把上面的代码转换为kotlin:

view.setOnClickListener(object: onClickListener{
      override fun onClick(v:View){
      toast("click")
}
})

一个lambda表达式通过参数的形式被定义在箭头的左边,然后在箭头的右边返回结果值,在上面的例子中,我们接收一个view,然后返回一个Unit(没有东西),所以,可以简化为:

view.setOnClickListener({view - > toast("click")})

当我们定义了一个方法,我们必须使用大括号包围它,然后在箭头的左边指定参数,在右边返回函数执行的结果,如果左边的参数没有使用,可以省略为:

view.setOnClickListener({toask("click")})

如果这个函数的最后一个参数是一个函数,我们可以把这个函数移动到小括号外:

view.setOnClickListener(){toast("click")}

如果这个函数只有一个参数,我们可以省略这个小括号:

view.setOnCliclListener{toast("click")}

相关文章

网友评论

      本文标题:Kotlin使用二

      本文链接:https://www.haomeiwen.com/subject/jecafxtx.html