【问题标题】:Android studio bad foldingAndroid studio坏折叠
【发布时间】:2016-07-20 22:03:18
【问题描述】:

好的,我有一些虚构的课程

public class TEMP {
    String data;
    View.OnClickListener onClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (data != null) {

            }
        }
    };
}

它在 Android Studio 中看起来像这样:

如果我全部折叠 - 它看起来很丑:

如果我删除 onClick() 内的 if 块 - 它看起来不错:

为什么会发生这种情况,我该如何解决这个问题?

【问题讨论】:

  • 我也看到了同样的问题,这也让我很烦。我认为我们应该向 Android Studio/Intellij IDEA 提交错误,或者查找很可能其他人已经创建的错误。

标签: android-studio folding


【解决方案1】:

已经有一段时间了,所以我不确定这有多大帮助。

这是使用 Java 8 lambda-notation 将函数折叠成类似于 lambda 的可视结构。单一方法接口(几乎)等同于 Java 8 中的 lambda。Android Studio 目前不支持 Java 8 lambda 表示法(详情见此答案底部:Is it possible to use Java 8 for Android development?)。

基于 Jack 工具链的 Java 8 有一种解决方法。这里是the workaround,这里是Jack工具链的deprecation

另一个注意事项是,根据herehere,Android Studio 2.4 preview 4 及更高版本似乎支持实际的 lambda 表示法。注意这些是预览版,最新正式版是2.3.2。

至于如何修复它,我不相信这是可能的。您也许可以使用region feature 来复制您想要实现的目标。上面的链接是一种操作方法。

【讨论】:

  • 嗯,我已经忘记了这个问题;)。似乎在一些后来的版本中,家伙修复了这个问题。在当前版本(2.3.2)中,我无法重现。
  • 我仍然看到这个问题。我的项目中有一些相当大的匿名类,它们折叠成 lambda 表达式,而不是一直折叠。我也在运行 2.3.2。
猜你喜欢
  • 2016-06-16
  • 2015-03-27
  • 1970-01-01
  • 1970-01-01
  • 2015-03-24
  • 2020-07-20
  • 2021-02-20
  • 2020-03-11
  • 2015-03-01
相关资源
最近更新 更多