..
Oczywiście AlertDialog strukturę jak w poprzednim rozdziale, nie jest bardzo przydatne, ponieważ nie ma przycisku i rzeczywiście blokuje aplikacji, ponieważ nie ma sposobu, aby ją usunąć z ekranu.
Przed dodaniem przycisków all'AlertDialog, jednak należy dodać obiekt TextView, w którym będziemy pisać różne wiadomości w zależności od kliknięciu przycisku przez użytkownika.
Dodanie TextView pozostawiamy jako ćwiczenie dla czytelnika.
Na dodatek przyciski i stowarzyszenia w słuchaczy ALertDialog po prostu zastąpić kod napisany w poprzednim rozdziale, co następuje:
AlertDialog.Builder miaAlert AlertDialog.Builder = new (this);
miaAlert.setMessage ("sprawdzenie działania przycisków dodany!");
miaAlert.setTitle ("AlertDialog z MrWebMaster");
miaAlert.setCancelable (false);
miaAlert.setPositiveButton ("Tak", DialogInterface.OnClickListener new () {
public void onClick (okno DialogInterface, int id) {
tv.setText ("Kliknąłem przycisk TAK");
}
});
miaAlert.setNegativeButton ("Nie", DialogInterface.OnClickListener new () {
public void onClick (okno DialogInterface, int id) {
tv.setText ("Kliknąłem przycisk NO");
}
});
AlertDialog miaAlert.create alert = ();
Alert.show ();
W odniesieniu do pierwszych trzech linii kodu nie trzeba niczego wyjaśniać inquanto są identyczne z tymi w poprzednim rozdziale. Idąc dalej z analizy kodu możemy znaleźć metody wywołania setCanceble (false), który ma wpływ na wyłączenie z tyłu przycisk w telefonie, a następnie musisz kliknąć na jeden z dwóch przycisków, aby zamknąć AlertDialog.
Mimo, że możemy przejść do tworzenia prawdziwych przycisków. Pierwszy przycisk jest tworzony z setPositiveButton metodę, która przyjmuje jako wejście ciąg znaków, który zostanie wyświetlony na ekranie jako treść przycisk i słuchacza. Jak widać słuchacza jest zadeklarowana jako nowe wystąpienie DialogInterface.OnClickListener, a nie jako nowe wystąpienie View.OnClickListener. Fakt ten można stosować tylko do elementów eriditano klasy Widok, a ponieważ nie AlertDialog dziedziczą z tej klasy, ale są one częścią android.app pakietu, należy użyć słuchacza jak DialogInterface.
W praktyce ta różnica nie jest sostanzianziale, w rzeczywistości, w tym przypadku, trzeba będzie zmienić metody OnClick i wstawić kod na zachowanie chcemy mieć dwa przyciski. Jak widać metoda OnClick ma na wejściu dwa parametry: pierwszym jest obiekt typu AlertDialog (dialog, który mówi, co spowodowało aktywacji słuchacza), a następnie ID, który identyfikuje wciśnięty przycisk. Wystarczy przejść wewnątrz metody OnClick do zmiany tekstu na tv TextView.
Struktura metoda OnClick sugeruje, zoptymalizowaną wersję naszych słuchaczy. W rzeczywistości AlertDialog wiedząc, co spowodowało słuchacza i który przycisk został kliknięty we wpisie, można utworzyć jeden słuchacza do obsługi więcej AlertDialog i związane z nim przyciski. Osiąga się to po prostu wykonując w pierwszej kolejności włączyć Dialog atrybutu (AlertDialog niech ustalić, co spowodowało słuchacza) i w każdym przypadku AlertDialog umieścić w innym przełącznikiem, aby dowiedzieć się, który przycisk na AlertDialog brane pod uwagę, jest kliknięciu.
Pozostawiamy jako ćwiczenie dla czytelnika, że ten nowy realizacji słuchacz jest w zasadzie bardzo podobny do obserwowanego w poprzednich rozdziałach niniejszej instrukcji.
| |
AutoCAD (eBook)
Tworzenie struktur architektonicznych. W zaledwie 29 €. |
| |
Webmaster Advanced (kursu)
Zostań profesjonalnym administratorem. Od 39 €. |
| |
XML (Kurs)
Tworzenie struktur XML, XSL i innych rozszerzalny językach. Począwszy od 29 €. |