因此,有人将Java 8的Lambda回溯到了Java 6和7。显然,它也适用于Android。该项目称为Retrolambda。我想在AndroidStudio上尝试一下,但似乎在最新版本中,他们已经删除了设置Java 8作为语言级别的能力(所以我在使用Lambda时不会出现编译错误)。有人知道如何解决这个问题吗?我想这可能与AndroidStudio是修改过的IntelliJ有关。任何帮助都将不胜感激。
因此,有人将Java 8的Lambda回溯到了Java 6和7。显然,它也适用于Android。该项目称为Retrolambda。我想在AndroidStudio上尝试一下,但似乎在最新版本中,他们已经删除了设置Java 8作为语言级别的能力(所以我在使用Lambda时不会出现编译错误)。有人知道如何解决这个问题吗?我想这可能与AndroidStudio是修改过的IntelliJ有关。任何帮助都将不胜感激。
我发现您可以通过修改build.gradle文件,将"语言级别"设置为Java 8,从而在Android Studio中进行操作:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
新项目中已经删除,但在创建项目后的属性中可用。请注意,我尚未使用任何新的Java 8功能进行编译,希望它能够正常工作。
右键单击您的项目,进入“打开模块设置”。我认为这里有一个错误,因为一旦我从语言设置选项卡导航离开,我就无法再返回。
为了解决这个问题,您可以编辑MyProject/.idea/misc.xml文件并查找languageLevel属性。
要在导航离开后启用项目设置,请编辑MyProject/.idea/workspace.xml文件并搜索project.structure.last.edited。将值设置为“Project”即可。