这很奇怪。在官方文献库retrolambda中,我们可以阅读将其放入自己的gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'me.tatarka:gradle-retrolambda:3.7.0'
}
}
// Required because retrolambda is on maven central
repositories {
mavenCentral()
}
apply plugin: 'com.android.application' //or apply plugin: 'java'
apply plugin: 'me.tatarka.retrolambda'
但现在我正在尝试用lambda写一些东西:
btnLogin.setOnClickListener(view -> btnLogin.setVisibility(View.INVISIBLE));
我来自AndroidStudio:
Lambda expression are not supported at language level 1.7
当然我可以在我的构建中设置
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
但这没有道理,现在有1.8我不需要RetroLambda:)
所以问题是如何在Java 1.7中使用lambda?