android श्रोता को लैम्ब्डा से बदला जा सकता है




lambda alertdialog (3)

यह उतना आसान है जितना:

button.setOnClickListener(view -> username = textView.getText());

मैंने सामान्य नकारात्मक और सकारात्मक बटन क्लिक श्रोताओं के साथ एक 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


लैम्बडा अभिव्यक्ति के साथ क्लासिक नए DialogInterface.OnClickListener () कार्यान्वयन को प्रतिस्थापित करने के लिए निम्नलिखित के साथ पर्याप्त है

 builder.setPositiveButton("resourceId", ((DialogInterface dialog, int which) -> {
      // do something here
 }));

यह सिर्फ ऑनक्लिक घटना पैरामीटर ले रहा है।


इसका मतलब है कि आप अपना कोड छोटा कर सकते हैं:

lambda के बिना onClickListener() का उदाहरण:

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

लैम्ब्डा के साथ फिर से लिखा जा सकता है:

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

यह वही कोड है। श्रोताओं के बहुत सारे या आईडीई के बिना कोड लिखते समय यह उपयोगी होता है। अधिक जानकारी के लिए this जांचें

उम्मीद है कि यह आपके प्रश्न का उत्तर देगा।





android-alertdialog