加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 02:11:54 所属栏目:Java 来源:网络整理
导读:我非常喜欢 Android Studio的匿名类代码折叠: new AsyncTaskVoid,Void,Void() { @Override protected Void doInBackground(Void... params) { doSomething(); return null; }}.execute(); 成 (AsyncTask) (params) - { doSomething()}.execute(); 此折叠选
我非常喜欢 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管理器并下载

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读