..
Evident, un AlertDialog structurat ca capitolul anterior nu este foarte utilă, deoarece nu are nici un buton şi blochează, de fapt, cererea, deoarece nu există nici o modalitate de ao scoate de pe ecran.
Înainte de a adăuga all'AlertDialog butoane, cu toate acestea, trebuie să adăugaţi un obiect TextView în care vom scrie un mesaj diferit, în funcţie de butonul apasat de utilizator.
Adaosul de TextView este lăsată ca exerciţiu pentru cititor.
Pentru adăugarea de butoane şi de asociere în ascultătorilor ALertDialog înlocui pur şi simplu codul scris în capitolul precedent cu următorul text:
AlertDialog.Builder miaAlert AlertDialog.Builder = new (această);
miaAlert.setMessage ("verificarea funcţionării a adăugat butoane!");
miaAlert.setTitle ("AlertDialog de MrWebMaster");
miaAlert.setCancelable (false);
miaAlert.setPositiveButton ("Da", noi DialogInterface.OnClickListener () {
void onClick publice (DialogInterface de dialog, int id) {
tv.setText ("Am apasat butonul YES");
}
});
miaAlert.setNegativeButton ("Nu", noi DialogInterface.OnClickListener () {
void onClick publice (DialogInterface de dialog, int id) {
tv.setText ("Am apasat butonul NO");
}
});
AlertDialog miaAlert.create alertă = ();
Alert.show ();
În ceea ce priveşte primele trei linii de cod nu trebuie să explice nimic inquanto sunt identice cu cele prezentate în capitolul anterior. Mergând mai departe cu analiza a codului găsim metoda de invocare setCanceble (false), care are ca efect dezactivarea butonului din spate a telefonului si apoi va trebui să faceţi clic pe una dintre cele două butoane pentru a închide AlertDialog.
Au spus că se trece la crearea de butoane reale. Primul buton este creat cu setPositiveButton metoda, care ia ca date de intrare un şir care va fi afişat pe ecran ca conţinutul buton şi un ascultător. După cum putem vedea ascultatorul este declarat ca o nouă instanţă de DialogInterface.OnClickListener şi nu ca o nouă instanţă de View.OnClickListener. Acest fapt poate fi aplicat doar la elemente eriditano clasei View, şi deoarece nu AlertDialog moştenească această clasă, dar ele sunt parte din android.app pachet, trebuie să utilizaţi un ascultător ca DialogInterface.
În practică, această diferenţă nu este sostanzianziale, de fapt, în acest caz, va trebui să suprascrie metoda onclick, şi introduceţi codul de comportament dorim sa facem doua butoane. După cum putem vedea metoda onclick are ca intrare doi parametri: primul este un obiect de tip AlertDialog (de dialog care va spune ce a cauzat activarea ascultătorului), şi apoi un ID care identifică butonul apăsat. Doar du-te în interiorul metoda onclick pentru a schimba textul de pe tv TextView.
Structura metodei onclick sugerează o versiune optimizata a ascultătorii noştri. De fapt, AlertDialog a şti ce a declanşat ascultător şi care a fost apasat butonul în alertă, aveţi posibilitatea să creaţi un ascultător să se ocupe de un singur AlertDialog mai şi butoanele aferente. Acest lucru este realizat prin simpla executare un comutator de pe prima Dialog atributul (AlertDialog haideţi să identifice ceea ce a declanşat ascultător), şi în fiecare caz în AlertDialog pus într-un alt comuta la alte seama care pe butonul de pe AlertDialog luat în considerare, este clic.
Acesta este lăsată ca exerciţiu pentru cititor că această nouă punere în aplicare a ascultatorului este de fapt foarte similar cu cel observat în capitolele anterioare ale acestui ghid.
| |
Java (Curs)
De programare OOP in Java SUN. De la 49 €. |
| |
MS Access (Avansat)
Aflaţi cum să creaţi şi să gestionaţi baze de date rapid şi uşor. Incepand de la 29 €. |
| |
Webmaster avansat (Curs)
Deveniţi un profesionist Webmaster. De la 39 €. |