代表匿名内部类的 Android Studio [英] Android Studio representing anonymous inner class

查看:43
本文介绍了代表匿名内部类的 Android Studio的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I created a brand new Android application in Android Studio 0.3.6 with a LoginActivity.java that was created for me. When I view the onCreate function I see the following code:

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

But when I click on the highlighted (view)-> { code Android Studio displays what I would have expected to see:

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

我的问题

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

推荐答案

它正在执行类似于 Java 8 lambda 表达式 的代码折叠(请参阅 docs),即使您的代码实际上不是用 Java 8 编译的;这只是为了更紧凑的显示方便.

It's doing code folding similar to Java 8 lambda expressions (see the docs) even if your code isn't actually compiled with Java 8; it's just a convenience for a more compact display.

如果您想自己使用它们,您可以使用 Android StudioJava 1.7 作为编译语言,但您需要使用构建工具 v19 或以后,如果您使用某些语言功能,它只能在装有 Kit Kat 或更新版本的手机上运行.Lambda 函数 不会给您带来麻烦.

If you want to use them yourself, you can use Android Studio with Java 1.7 as a compile language, but you'll need to be using build tools v19 or later, and if you use certain language features, it will only run on phones with Kit Kat or later. Lambda functions won't get you into trouble, though.

这篇关于代表匿名内部类的 Android Studio的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆