..


Sponsede Lenker

Legg til knapper AlertDialog

Tydeligvis en AlertDialog strukturert som den forrige kapittelet er ikke veldig nyttig fordi det har ingen knapp og faktisk blokkerer søknaden fordi det er ingen måte å fjerne det fra skjermen.
Før du legger knappene all'AlertDialog, derimot, må du legge til en TextView objekt der vi skal skrive en annen melding avhengig av hvilken knapp klikket av brukeren. Tillegg av TextView er igjen som en øvelse til leseren.

For tillegg av knapper og foreningen i ALertDialog lyttere bare erstatte koden skrevet i forrige kapittel med følgende:






 AlertDialog.Builder miaAlert AlertDialog.Builder = new (denne);







 miaAlert.setMessage ("verifisering ved bruk av knappene lagt til!");







 miaAlert.setTitle ("AlertDialog of MrWebMaster");









 miaAlert.setCancelable (false);







 miaAlert.setPositiveButton ("Ja", nye DialogInterface.OnClickListener () {



  



 public void onClick (DialogInterface dialog, int id) {



    



 tv.setText ("Jeg klikket på YES-tasten");



  



 }







 });



    	





 miaAlert.setNegativeButton ("Nei", nye DialogInterface.OnClickListener () {



  



 public void onClick (DialogInterface dialog, int id) {



    



 tv.setText ("Jeg klikket på NO-knappen");

   		

  



 }







 });







 AlertDialog miaAlert.create våken = ();







 Alert.show ();



Når det gjelder de tre første linjene med kode trenger ikke å forklare noe inquanto er identiske med dem vist i forrige kapittel. Fremover med analysen av koden finner vi påkalling av metoden setCanceble (falske) som har effekten av invalidiserende tilbake-knappen på telefonen og deretter må du klikke på en av to knapper for å lukke AlertDialog.

Når det er sagt at vi går til opprettelsen av virkelige knapper. Den første knappen er opprettet med den metoden setPositiveButton som tar som input en streng som skal vises på skjermen som innholdet av knappen og en lytter. Som vi kan se lytteren er deklarert som en ny forekomst av DialogInterface.OnClickListener og ikke som en ny forekomst av View.OnClickListener. Dette faktum kan kun brukes på elementer eriditano Vis klasse og siden AlertDialog ikke arve denne klassen, men de er en del av pakken android.app, må du bruke en lytter typen DialogInterface.

I praksis er denne forskjellen ikke sostanzianziale, faktisk, i dette tilfellet, må du overstyre onclick metoden, og sette inn koden for atferden vi ønsker å gi de to knappene. Som vi kan se onclick metoden tar som input to parametre: den første er et objekt av typen AlertDialog (dialog som forteller deg hva som skyldes aktivering av lytteren) og deretter en id som identifiserer knappen trykkes. Bare gå inn i onclick metode for å endre teksten på TextView tv.

Strukturen i onclick metoden antyder en optimalisert versjon av våre lyttere. Faktisk AlertDialog å vite hva som utløste lytteren og som knappen ble klikket innenfor varsler du kan opprette en enkelt lytter å håndtere mer AlertDialog og tilhørende knapper. Dette gjøres ganske enkelt ved å utføre en første bryter på attributtet Dialog (AlertDialog la oss identifisere hva som utløste lytteren) og i hvert fall på AlertDialog satt inne i en annen bryter for å finne ut hvilken knapp på AlertDialog tatt i betraktning, er det klikket.

Det er igjen som en øvelse for leseren at denne nye implementeringen av lytteren er i utgangspunktet svært lik den som sett i tidligere kapitler i denne guiden.

Hjelp utvikle applikasjoner for Android
E-Learning
ASP Zero (Ebook) ASP Zero (Ebook)
Microsoft ASP og VBScript til å lære fra bunnen av. At kun 29 €.
Brenne CDer og DVDer (Ebook) Brenne CDer og DVDer (Ebook)
Guide til å brenne CDer og DVDer med freeware programmer. At kun 25 €.
SQL og Database (Course) SQL og Database (Course)
Opprette og administrere relasjonsdatabaser. Starter fra 39 €.
Sponsede Lenker