android - एंड्रॉइड अलर्ट डायलॉग एक, दो और तीन बटन के साथ



alertdialog (1)

मैं बहुत बार अलर्ट नहीं करता, लेकिन हर बार जब मुझे ऐसा होता है तो मुझे documentation माध्यम से पढ़ने में समय लगता है और यह पता लगाना है कि यह कैसे करना है। चूंकि मुझे अब कुछ समय ऐसा करना पड़ा है, इसलिए मैं नीचे एक उत्तर लिखने जा रहा हूं कि मैं भविष्य में वापस आ सकूं। विशेष रूप से मैं मूल कोड की तुलना करना चाहता हूं

  • एक बटन (ठीक है)
  • दो बटन (ठीक है और रद्द करें)
  • तीन बटन (सकारात्मक, नकारात्मक, अन्य)

भविष्य में आसान संदर्भ और संशोधन के लिए इन तीन सामान्य अलर्ट प्रकारों के लिए मूल कोड रखना अच्छा होगा। यह सवाल पूछता है कि इसे एक बटन के लिए कैसे करना है।

मैं नीचे अपना जवाब जोड़ रहा हूं।


एक बटन

import android.support.v7.app.AlertDialog;

public class MainActivity extends AppCompatActivity {

    public void showAlertDialogButtonClicked(View view) {

        // setup the alert builder
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("My title");
        builder.setMessage("This is my message.");

        // add a button
        builder.setPositiveButton("OK", null);

        // create and show the alert dialog
        AlertDialog dialog = builder.create();
        dialog.show();
    }
}

दो बटन

public class MainActivity extends AppCompatActivity {

    public void showAlertDialogButtonClicked(View view) {

        // setup the alert builder
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("AlertDialog");
        builder.setMessage("Would you like to continue learning how to use Android alerts?");

        // add the buttons
        builder.setPositiveButton("Continue", null);
        builder.setNegativeButton("Cancel", null);

        // create and show the alert dialog
        AlertDialog dialog = builder.create();
        dialog.show();
    }
}

तीन बटन

public class MainActivity extends AppCompatActivity {

    public void showAlertDialogButtonClicked(View view) {

        // setup the alert builder
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Notice");
        builder.setMessage("Launching this missile will destroy the entire universe. Is this what you intended to do?");

        // add the buttons
        builder.setPositiveButton("Launch missile", null);
        builder.setNeutralButton("Remind me later", null);
        builder.setNegativeButton("Cancel", null);

        // create and show the alert dialog
        AlertDialog dialog = builder.create();
        dialog.show();
    }
}

यदि बटन टेक्स्ट लंबे समय तक सभी को क्षैतिज रूप से फिट करता है, तो यह स्वचालित रूप से तीन बटन के एक ऊर्ध्वाधर कॉलम में बाहर हो जाएगा।

हैंडलिंग बटन क्लिक

OnClickListener उपरोक्त उदाहरणों में null था। उपयोगकर्ता द्वारा एक बटन टैप करने पर आप कुछ करने के लिए श्रोता के साथ null को बदल सकते हैं। उदाहरण के लिए:

builder.setPositiveButton("Launch missile", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {

        // do something like...
        launchMissile();
    }
});

चल रहा

संवादों की कई और किस्में हैं जिन्हें आप बना सकते हैं। इसकी सहायता के लिए documentation देखें।

चूंकि AlertDialog में केवल तीन बटन समर्थित हैं, इसलिए यहां सूची के साथ संवाद का एक उदाहरण है।

public class MainActivity extends AppCompatActivity {

    public void showAlertDialogButtonClicked(View view) {

        // setup the alert builder
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Choose an animal");

        // add a list
        String[] animals = {"horse", "cow", "camel", "sheep", "goat"};
        builder.setItems(animals, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                switch (which) {
                    case 0: // horse
                    case 1: // cow
                    case 2: // camel
                    case 3: // sheep
                    case 4: // goat
                }
            }
        });

        // create and show the alert dialog
        AlertDialog dialog = builder.create();
        dialog.show();
    }
}

रेडियो बटन सूची और चेकबॉक्स सूची के समान उदाहरणों के लिए इस उत्तर को देखें।

टिप्पणियाँ

  • कठोर कोडिंग स्ट्रिंग्स के बजाय स्ट्रिंग संसाधनों का उपयोग करें।
  • आप एक क्लास में सब कुछ लपेट सकते हैं जो DialogFragment के आसान पुन: उपयोग के लिए DialogFragment विस्तार करता है। (मदद के लिए this देखें।)
  • ये उदाहरण एपीआई 11 से पहले संस्करणों का समर्थन करने के लिए समर्थन पुस्तकालय का उपयोग करते थे। इसलिए आयात होना चाहिए

    import android.support.v7.app.AlertDialog;
  • मैंने संक्षिप्तता के लिए उपरोक्त उदाहरणों में onCreate विधि को छोड़ दिया। वहां कुछ खास नहीं था।

यह भी देखें

  • पॉजिटिव बटन को कैसे डिसेबल करें
  • छोटे संदेशों के लिए अलर्ट के बजाय टोस्ट का उपयोग करें
  • एकल-पसंद सूची, रेडियो बटन सूची और चेकबॉक्स सूची
  • एक कस्टम AlertDialog View कैसे लागू करें





alertdialog