android - मैं कस्टम बटन को अलर्ट डीआलाओग के लेआउट में कैसे जोड़ सकता/सकती हूं?




button layout (3)

मेरे पास सकारात्मक और नकारात्मक बटन के साथ अलर्ट डायलॉग है I AlertDialog लेआउट में मेरे पास EditText और दो बटन हैं (बीटीएनएड 1, बीटीएनएड 2)। मैं चाहता हूँ जब उपयोगकर्ता बटन पर क्लिक करें btnAdd1 या btnAdd2 AlertDialog में EditText के लिए एक ही पाठ जोड़ें (लेकिन कोई करीबी AlertDialog)। क्या यह संभवतः अलर्ट डाइलोग में है या मुझे केवल डायलॉग का उपयोग करना है?

यह अलर्ट डीआलाओग का लेआउट (आर.लेआउट.प्रॉप) है:

<LinearLayout>
<EditText
    android:id="@+id/userInput"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="text" >

    <requestFocus />
</EditText>

<Button
    android:id="@+id/btnAdd1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="bla" />

<Button
    android:id="@+id/btnAdd2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="bla" />

  </LinearLayout>

और यह स्रोत कोड है:

    LayoutInflater layoutInflater = LayoutInflater.from(this);
        View promptView = layoutInflater.inflate(R.layout.prompt, null);

    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
    alertDialogBuilder.setView(promptView);
    alertDialogBuilder
            .setCancelable(false)
            .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                              //...

                }
            })
            .setNegativeButton("Cancel",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();
                        }
                    });

    AlertDialog alertD = alertDialogBuilder.create();
    alertD.show();

मुझे लेआउट से बीटीएनएडीडी 1 और बीटीएनएड 2 को प्राप्त करना चाहिए। इन दो बटनों पर OnClickListener () सेट करें


आप ऐसा कुछ करने की कोशिश कर सकते हैं:

dialog.setPositiveButton(R.string.positive, new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialogInterface, int i) {
        dialog.show();
    }
});

आप क्या करना चाहते हैं;

alertD.show();
Button button = (Button)promptView.findViewById(R.id.buttonId);
button.setOnClickListener(....)

गतिविधि का उपयोग करने के बजाय findViewById को कॉल करने के लिए दृश्य का उपयोग करते हुए, जो दिखाए जा रहे लेआउट में आईडी को देखेंगे।


इस दृष्टिकोण के अनुसार मैं छवि बटन बनाने में सक्षम हूं, लेकिन अगर मैं रद्द करें बटन पर संवाद को खारिज या रद्द करना चाहता हूं तो मुझे क्या करना है ..

public static void alertDialogShow(final Context context,
            final String resultMobile) {

        LayoutInflater li = LayoutInflater.from(context);
        View promptsView = li.inflate(R.layout.prompt,
                null);
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                context, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT);
        // set prompts.xml to alertdialog builder
        alertDialogBuilder.setView(promptsView);
        final EditText userInput = (EditText) promptsView
                .findViewById(R.id.editTextDialogUserInput);
        userInput.setText(resultMobile);
        userInput.setEnabled(false);
btnCancel.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

            }
        });




alertdialog