Android Studio代表匿名内部类

时间:2013-11-24 17:10:41

标签: android android-studio

我在Android Studio 0.3.6中创建了一个全新的Android应用程序,其中包含为我创建的LoginActivity.java。当我查看onCreate函数时,我看到以下代码:

enter image description here

但是当我点击突出显示的(view)-> {代码时,Android Studio会显示我希望看到的内容:

findViewById(R.id.sign_in_button).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        attemptLogin();
    }
});

我的问题

  1. 这叫什么?
  2. 为什么Android Studio会这样做?
  3. 这是我可以利用的东西,因为打字要少得多吗?

1 个答案:

答案 0 :(得分:2)

即使您的代码实际上没有,它也会执行类似于 Java 8 lambda表达式的代码折叠(请参阅docs)用Java 8编译;它只是为了更紧凑的显示屏提供便利。

如果您想自己使用它们,可以将 Android Studio Java 1.7 一起用作编译语言,但是您需要使用构建工具v19或更高版本,如果您使用某些语言功能,它将仅在具有Kit Kat或更高版本的手机上运行。但是, Lambda函数不会让你陷入困境。