में AlertDialog पर Android डॉक्स , यह निम्न शिक्षा और एक AlertDialog में एक कस्टम दृश्य की स्थापना के लिए उदाहरण देता है:
यदि आप अधिक जटिल दृश्य प्रदर्शित करना चाहते हैं, तो फ्रेमलेयूट को "बॉडी" कहें और इसमें अपना दृश्य जोड़ें:
FrameLayout fl = (FrameLayout) findViewById(R.id.body);
fl.add(myView, new LayoutParams(FILL_PARENT, WRAP_CONTENT));
सबसे पहले, यह बहुत स्पष्ट है कि add()
एक टाइपो है और होने का मतलब है addView()
।
मैं R.id.body का उपयोग करके पहली पंक्ति से भ्रमित हूं। ऐसा लगता है कि यह AlertDialog का मुख्य तत्व है ... लेकिन मैं अभी अपने कोड b / c में यह दर्ज नहीं कर सकता कि यह एक अनिवार्य त्रुटि देता है। R.id.body को कहां परिभाषित किया गया है या सौंपा गया है या जो कुछ भी है?
यहाँ मेरा कोड है। मैंने setView(findViewById(R.layout.whatever)
बिल्डर पर उपयोग करने की कोशिश की लेकिन यह काम नहीं किया। मैं मान रहा हूं क्योंकि मैंने इसे मैन्युअल रूप से नहीं बढ़ाया है?
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title")
.setCancelable(false)
.setPositiveButton("Go", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
EditText textBox = (EditText) findViewById(R.id.textbox);
doStuff();
}
});
FrameLayout f1 = (FrameLayout)findViewById(R.id.body /*CURRENTLY an ERROR*/);
f1.addView(findViewById(R.layout.dialog_view));
AlertDialog alert = builder.create();
alert.show();
.setView(getLayoutInflater().inflate(R.layout.dialog_view, null))
बिल्डर में जोड़ें । नीचे सर्जियो वियड्स को क्रेडिट।