【问题标题】:Great tutorial, but can't replicate code很棒的教程,但无法复制代码
【发布时间】:2018-05-18 01:10:47
【问题描述】:

刚接触移动开发,我想我会跟着本教程学习。希望这是一个简单的问题。如果有人能告诉我 --> 被称为什么(它是一个指针吗?)或者是什么导致 (e) --> 代码在输入后变成浅灰色,我可以对我自己的问题做更多的研究在这里。

youtube.com/watch?v=RagA8g9A5Qc

在下面 10:58(暂停视频)的视频链接中,您将看到一些代码显示

uploadTask.addOnFailureListener ((e) --> { {finish(); }};

在 10:42 在视频中你会看到类似的符号

    `mProfileImage.setOnClickListener((view) --> {saveUserInformation(); }};`

有人能告诉我--> 是什么名字吗?我怎样才能让(e)--> 在你开始输入时出现在自动填充函数对话框中?我是否缺少文件或类?

我认为这可能是 IDE 设置,因为就在他视频中的这些代码行上方,您会看到以下行:

- bitmap.compress(Bitmap.CompressFormat.JPEG, 20, baos);

但在我的 IDE 中,我看到了“质量”这个词

- bitmap.compress(Bitmap.CompressFormat.JPEG, quality 20, baos); 

在键入值 20 时出现。它是一种浅灰色,类似于他的代码中的 (e) 和 -->,由于某种原因在我的编辑器或代码中不起作用。

【问题讨论】:

    标签: android tinder


    【解决方案1】:

    假设您使用的是 Java 8+,-> 运算符用于 lambda 函数。

    lambda 是一个匿名函数,对于只使用一次或作为参数传递的函数很有用。 Read more here.

    【讨论】:

      【解决方案2】:

      基本上,(e) -> {...} 是一个 lambda,您可以在此处阅读更多相关信息 https://kotlinlang.org/docs/reference/lambdas.html,但在基本术语中,它是一个可以执行的代码块。 e 是来自调用者的参数,-> 只是表示 lambda 后跟代码的语法,您提到的灰色字母中的“质量”只是 compress 中的参数名称IDE 显示的方法,因此您无需查找文档或源即可正确填充方法调用。

      编辑:另外,请记住,在 Java 和 Kotlin 中,它应该是 -> 而不是 -->,这可能是您的“灰色字母”问题的根源。

      【讨论】:

      • 首先,对于糟糕的帖子语法格式感到抱歉。自从我发布代码问题以来已经有一段时间了。我回顾了教程视频,视频 9 @ 28:25 显示了代码。我没有注意到的是它只是折叠代码LOL。 link 他将他的 public void 'onFailure()' 更改为不久之后看到的 lambda 代码。通过折叠侧边距上的函数这回答了我的问题。欣赏 lambda 一词。
      猜你喜欢
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      • 1970-01-01
      • 2023-01-07
      • 1970-01-01
      • 2020-10-15
      • 2021-11-08
      相关资源
      最近更新 更多