Ho un semplice programma per mostrare una finestra di dialogo, con una vista di edittext, e ascoltare i pulsanti positivi/negativi, per eseguire un'azione personalizzata in ciascuno (leggi quell'editoriale e salva il suo contenuto a una variabile di attività).dialoginterface Android ottiene viste di dialogo interne
Il problema sorge quando non riesco a vedere alcun modo per recuperare la mia finestra di dialogo corrente dall'interfaccia di dialogo (e quindi, non riesco a recuperare nessuna vista all'interno della finestra di dialogo).
Probabilmente si tratta di una domanda noob, ma dopo alcune ricerche su google, non ho nessuna risposta.
mio codice è il seguente
LayoutInflater li = LayoutInflater.from(this);
View myView = li.inflate(R.layout.my_layout, null);
AlertDialog.Builder cDialog = new AlertDialog.Builder(this);
cDialog.setView(myView);
cDialog.setPositiveButton(R.string.start_download, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//here the code to retrieve dialog
}
});
cDialog.create();
alcun indizio su dove posso trovare questo?
Ciao slukian. Ho provato a farlo, ma quell'istanza proviene dalla classe DialogInterface, non dalla finestra di dialogo. DialogInterface non fornisce il metodo findViewById ... quindi non è utile recuperare i contenuti della finestra di dialogo specificata. – user1220817
@ user1220817 Quel parametro 'dialog' è la finestra di dialogo che ha ricevuto il clic. Trasmettilo a 'AlertDialog' e quindi chiama' findViewById() 'in questo modo:' EditText edit = (EditText) ((AlertDialog) dialog) .findViewById (R.id.editText1); '. – Luksprog
Oh bello! grazie mille, non ho notato che DialogInterface poteva essere castato direttamente al dialogo. Grazie ancora :) – user1220817