Mam prosty program, aby pokazać okno dialogowe, z widokiem editekstowym w nim, i słuchać pozytywnych/negatywnych przycisków, aby wykonać niestandardową akcję w każdym (przeczytaj, że edittext i zapisać jego zawartość do zmiennej aktywności).Interfejs Android okna dialogowego uzyskać wewnętrzne widoki okna dialogowego
Problem pojawia się, gdy nie widzę sposobu odzyskania bieżącego okna dialogowego z interfejsu okna dialogowego (a następnie nie mogę odzyskać żadnego widoku w oknie dialogowym).
Prawdopodobnie jest to pytanie typu noob, ale po przeszukaniu google nie mam na nie odpowiedzi.
Mój kod jest następujący
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();
Wszelkie pojęcia o tym, gdzie można znaleźć to?
Cześć slukian. Próbowałem to zrobić, ale ta instancja pochodzi z klasy DialogInterface, a nie z okna dialogowego. DialogInterface nie udostępnia metody findViewById ... więc nie jest przydatne pobieranie zawartości danego okna dialogowego. – user1220817
@ user1220817 Ten parametr 'dialog' jest dialogiem, który otrzymał kliknięcie. Prześlij go do 'AlertDialog', a następnie wywołaj' findViewById() 'w ten sposób:' EditText edit = (EditText) (dialog (AlertDialog)) .findViewById (R.id.editText1); '. – Luksprog
Oh nice! dziękuję bardzo, nie zauważyłem, że DialogInterface można odlać bezpośrednio do okna dialogowego. Jeszcze raz dziękuję :) – user1220817