android - 匿名类可以用lambda提示替换

标签 android android-studio lambda

我使用这个库来构建对话框:https://github.com/afollestad/material-dialogs/

我收到这个提示

Anonymous new MaterialDialog.SingleButtonCallback() can be replaced with lambda hint.

自从更新到 Android Studio 2.4 prev 4 以来,它向我显示了这个问题: enter image description here

这是代码:

public void swapConfirm() {
    MaterialDialog dialog = new MaterialDialog.Builder(this)
            .title(R.string.swap_teams)
            .content(R.string.swap_confirm)
            .positiveText(R.string.swap_teams)
            .negativeText(android.R.string.cancel)
            .onPositive(new MaterialDialog.SingleButtonCallback() {
                @Override
                public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
                    swapTeams("");
                }
            }).build();
    dialog.show();
}

如何将其更改为新的 lambda 架构?

我根据this blog post尝试了以下操作,但它不起作用:enter image description here

最佳答案

由于错误表明变量 dialog 已在范围内定义,因此将其名称更改为 dialog1 之类的名称,例如,它应该可以工作。

如果您通过单击 Alt+Enter 并从 Intent 列表中选择第一个选项,让 Android Studio 将匿名类转换为 lambda,则不会发生此错误。

关于android - 匿名类可以用lambda提示替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43252735/

相关文章:

android 我如何在 POST 请求中发送带有 1key 的数组

android - 升级到 Android Studio 到 2.0 Preview 并使用 Instant Run 后出现 Gradle 错误

android - 布局的 100mb 内存使用正常吗?

android - 保存数据以持续更新(Unity3D)

android - 使用一张图像表示不同的按钮状态

android - 地理围栏 API : adding successful but not triggered

java - AsyncHttpClient OnSuccess 或 OnFailure 未被覆盖,但收到回调

python - Python 中 k、v 元组列表中的唯一组合

java - 此 C# 泛型方法模式的等效 Java 实现是什么

C#:我可以将显式委托(delegate)强制转换为 Action 委托(delegate)吗?