リスナーをラムダに置き換えることができるというのはどういう意味ですか? 質問する

リスナーをラムダに置き換えることができるというのはどういう意味ですか? 質問する

AlertDialog通常のネガティブおよびポジティブ ボタン クリック リスナーを備えたを実装しました。

電話したときに、new DialogInterface.OnClickListener()次のような提案が表示されました:Anonymous new DialogInterface.OnClickListener() can be replaced with lambdaエラーでも大きな問題でもないことはわかっていますが、この提案とは一体何で、どうすればいいのでしょうか?

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setPositiveButton("Text", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        // do something here
    }
});

Android Studio V1.2.1.1 compileSdkVersion 22 buildToolsVersion "22.0.0" minSdkVersion 14 targetSdkVersion 22

ベストアンサー1

つまり、コードを短くできるということです。

の例onClickListener() それなしラムダ:

mButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // do something here
    }
});

書き換え可能ラムダ:

mButton.setOnClickListener((View v) -> {
    // do something here
});

同じコードです。これは、多くのリスナーを使用する場合や、IDEなしでコードを書く場合に便利です。詳細については、これ

これでご質問への回答ができたかと思います。

おすすめ記事