Sto cercando di creare una finestra di dialogo di avviso con un EditTextoggetto. Ho bisogno di impostare il testo iniziale del file a livello di codice EditText. Ecco cosa ho.
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();
Cosa devo cambiare per avere un EditTextoggetto valido ?
[modificare]
Quindi, è stato sottolineato da user370305 e altri che dovrei usare alertDialog.findViewById(R.id.label_field);
Purtroppo qui c'è un altro problema. Apparentemente, l'impostazione della visualizzazione del contenuto su AlertDialogcausa il blocco del programma in fase di esecuzione. Devi impostarlo sul builder.
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();
Sfortunatamente, quando lo fai, alertDialog.findViewById(R.id.label_field);ora ritorna null.
[/modificare]
dialogBuilder.setView(R.layout.dialog_layout);