मैं एक EditTextवस्तु के साथ एक चेतावनी संवाद बनाने की कोशिश कर रहा हूं । मुझे EditTextप्रोग्राम के प्रारंभिक पाठ को सेट करने की आवश्यकता है । यहाँ मेरे पास क्या है।
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
// ...Irrelevant code for customizing the buttons and title
AlertDialog alertDialog = dialogBuilder.create();
LayoutInflater inflater = this.getLayoutInflater();
alertDialog.setContentView(inflater.inflate(R.layout.alert_label_editor, null));
EditText editText = (EditText) findViewById(R.id.label_field);
editText.setText("test label");
alertDialog.show();
मुझे क्या बदलने की आवश्यकता है ताकि मेरे पास एक वैध EditTextवस्तु हो सके?
[संपादित करें]
इसलिए, यह user370305 और अन्य लोगों द्वारा इंगित किया गया था जिनका मैं उपयोग कर रहा हूं alertDialog.findViewById(R.id.label_field);
दुर्भाग्य से यहाँ एक और मुद्दा है। जाहिर तौर पर, AlertDialogरनटाइम पर प्रोग्राम क्रैश होने के कारणों पर कंटेंट व्यू सेट करना । आपको इसे बिल्डर पर सेट करना होगा।
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
// ...Irrelevant code for customizing the buttons and title
dialogBuilder.setView(inflater.inflate(R.layout.alert_label_editor, null));
AlertDialog alertDialog = dialogBuilder.create();
LayoutInflater inflater = this.getLayoutInflater();
EditText editText = (EditText) alertDialog.findViewById(R.id.label_field);
editText.setText("test label");
alertDialog.show();
दुर्भाग्य से, जब आप ऐसा करते हैं, तो alertDialog.findViewById(R.id.label_field);अब वापस आ जाता है null।
[/ संपादित करें]
dialogBuilder.setView(R.layout.dialog_layout);