Ich versuche, einen Warndialog mit einem EditText-Objekt zu erstellen. Ich muss den Anfangstext des EditText programmgesteuert festlegen. Hier ist was ich habe.AlertDialog.Builder mit benutzerdefiniertem Layout und EditText; Ich kann nicht auf Sicht zugreifen
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();
Was muss ich ändern, damit ich ein gültiges EditText-Objekt haben kann?
[Bearbeiten]
So wurde es von user370305 und anderen darauf hingewiesen wird, daß ich alertDialog.findViewById (R.id.label_field) verwenden;
Leider gibt es hier ein anderes Problem. Offensichtlich bewirkt das Einstellen der Inhaltsansicht auf den AlertDialog, dass das Programm zur Laufzeit abstürzt. Sie müssen es auf den Builder festlegen.
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();
Leider, wenn Sie dies tun, alertDialog.findViewById (R.id.label_field); gibt jetzt null zurück.
[/ edit]
U auch tun kann als: 'dialogBuilder.setView (R.layout.dialog_layout);' – SiavA
@SiavA diese Methode ist nur Form API 21. – FrenchFalcon
Ich habe versucht, Dialog anzuzeigen, und es funktionierte nicht in RecyclerView, aber dies tat. –