尝试使用lambda表达式时出现此错误。
错误:
错误:(122,42)错误:源1.7中不支持lambda表达式
(使用-源8或更高版本启用lambda表达式)
我该如何解决它注意到我的android工作室是3.0
最佳答案
它可能是因为你正在使用Java 7,实际上,Retrolambda
是一个可以与Java 8 lambda expressions
一起使用的库。
如何设置:
将以下内容添加到您的project’s main build.gradle
classpath 'me.tatarka:gradle-retrolambda:3.2.3'
然后将其添加到
your application module’s build.gradle
apply plugin: 'me.tatarka.retrolambda'
然后我们需要将这些行添加到
your application module’s build.gradle
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
完成后,您可以像下面这样使用它:
用retrolambda点击一个按钮。
// RETROLAMBDA WAY
clickMeBtn.setOnClickListener(view ->
Toast.makeText(MainActivity.this,
"This is the way to click a button to make a toast with RetroLambda !", Toast.LENGTH_LONG).show());
匿名类
new View.OnClickListener()
可以替换为lambda
。