好的,我有一些虚构的课程
public class TEMP {
String data;
View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if (data != null) {
}
}
};
}
如果我删除了if
中的onClick()
块 - 它看起来不错:
为什么会发生这种情况?如何解决这个问题?
答案 0 :(得分: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,这是杰克工具链的deprecation。
另一个注意事项是,根据here和here,Android Studio 2.4预览版4及更高版本似乎支持实际的lambda表示法。请注意,这些是预览,最新的官方版本是2.3.2。
至于如何修复它,我认为不可能。您可以使用region feature复制您要实现的目标。上面的链接是一种操作方式。