在此question中有一行
findViewById(R.id.go_to_play_store).setOnClickListener(this::goToPlayStore);
该行如何正确处理点击监听器?
答案 0 :(得分:5)
Java8引入了Method references和Functional interfaces的概念。如果函数onClickListener
需要一个带有一个参数的函数(a.k.a Functional Interface),那么如果返回类型和参数类型与您的函数(goToPlayStore)匹配,那么您可以将其引用作为函数接口传递。
答案 1 :(得分:2)
这是新的JAVA 8语言功能Lambda Expressions。
::请参阅Java 8中称为method references的新语法。您可以引用类或实例,并传递将处理事件的方法
单击其名为goToPlayStore()的调用函数,该函数位于该活动或片段中。
答案 2 :(得分:2)
Java 8中的方法引用
这允许我们按名称引用现有方法。可以使用方法引用代替lambda表达式,只要它们满足功能接口的要求即可。 对于静态方法,语法为
Classname::methodName