如何在Java 7中使用lambda,奇怪的Retrolambda无法正常工作

时间:2018-06-15 14:54:18

标签: java android lambda retrolambda

这很奇怪。在官方文献库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?

0 个答案:

没有答案