微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Java 8中为异步类启用Android Studio / IDEA闭包折叠?

我非常喜欢 Android Studio的匿名类代码折叠:

new AsyncTask<Void,Void,Void>() {
    @Override
    protected Void doInBackground(Void... params) {
        doSomething();
        return null;
    }
}.execute();

(AsyncTask) (params) -> {
    doSomething()
}.execute();

此折叠选项位于设置中的“闭包”下.我切换到Java 8(使用retrolambda),因为我想使用lambda表达式,但是现在Android Studio不会折叠匿名类.有没有办法重新启用它?

附:
我知道我可以留在Java 7,Android Studio会将单方法匿名类折叠成lambda表达式,但我希望能够直接输入lambda表达式,同时仍然可以折叠多方法匿名类.

解决方法

首先,您需要在项目结构中将JDK位置设置为java 8 – > SDK位置

现在Android Studio 2.1不支持java 8的lambda表示法,但有解决方法.

>您需要启用Jack编译器才能支持功能>添加    android {      jackOptions {        启用为真      }   }在build.gradle文件中>它还需要Android Sdk Build-tools 24或更高版本.在sdk manager下载该开放式独立SDK管理器并下载

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐