..


Sponsorerede links

En lytter tunet til at håndtere de klikker på vores knapper

I det foregående kapitel var ikke bevidst giver læseren en optimeret version af lytteren, fordi det blev foretrukket frem for først forklare det grundlæggende i drift for at undgå forvirring og for at følge en lineær vej eksponering. Fra et implementeret synspunkt, men koden er skitseret ovenfor - som sagt - er bestemt ikke den foretrukne løsning.

Hvad vi ser nu, er derfor en optimeret implementering af vores lyttere ved at oprette et objekt for at være anvendt på begge OnClickListener knapper ved hjælp af metoden setOnClickListener.

Posizioniamoci, og tryk derefter filen HelloWorld.java og indsætte følgende kode:






 View.OnClickListener View.OnClickListener leder = new () {



  



 public void onClick (View view) {

 

    

    



 switch (view.getId ()) {



            	

      



 R.id.bottone1 hjem:



        



 textView1.setText ('E' blev klikket på knap 1 !!!!!");



        



 break;



            	    	

      



 R.id.bottone2 hjem:



        



 textView1.setText ('E' knappen blev klikket 2 !!!!!");



        



 break;



    



 }

	

  



 }







 };



        





 bottone1.setOnClickListener (leder);







 bottone2.setOnClickListener (leder);



Så du først oprette et objekt af typen OnClickListener, og efter den nye konstruktion kaldes constructoren for den klasse så kommer til at omdefinere VedKlik metode, som vi gjorde tidligere.

Lytteren, at vi har skabt, har den ære at være den samme for både bottonni og derfor, end den tidligere implementering, vi sparede på hukommelsen på en ny instans af en lytter. Fordelen er endnu mere indlysende, efterhånden som antallet af knapper i vinduet.

I det væsentlige er lytteren i stand til at gætte hvilken af ​​to knapper blev klikket handler i overensstemmelse hermed. Anerkendelsen af knappen er trykket ved hjælp af en kontakt baseret på betingelse view.getId ().

Som vi kan se VedKlik metode har som argument en visning og derefter, når der klikkes på knappen, er View objektet initialiseres med trykket på knappen. Brug af metoden getId () returnere den unikke id knyttet til knappen i filen R.java vi så i de foregående kapitler.

På dette punkt er det muligt at skelne knappen trykkes på grundlag af ID på knappen, som vi kan se i sagen konstruktion.

Når koden for VedKlik metoden kaldes på både metoden setOnClickListener knapper som et argument for netop 'OnClickListener oprettede tidligere.

Når forstået, koden vist i dette kapitel, er det let at bruge og nemme at skifte. Faktisk, mindre brug af hukommelse (men ikke mindst, når programmering til enheder med meget begrænset hukommelse som en telefon) denne gennemførelse, samt ved at lade har den store fordel, at det nemt at vedligeholde. Dette er fordi, hvis vi har brug for at ændre adfærden hos de lytter vil vide, præcist hvilken del af koden Gå til Rediger. Det samme kan man ikke sige, hvis de bruger den gamle implementering, for i så fald bør vi gå igennem alle de kode for hvert enkelt element, der bruges til en lytter så andarne at ændre koden inde.

Den forbedrede gennemførelse er også nemt kan udvides, som hvis vi havde behov for at indsætte en anden knap, der bruger samme lytteren bliver nødt til at følge nedenstående trin:

  1. Vi erklærer knappen i filen main.xml.
  2. I vores virksomhed erklærer vi en anden attribut af typen Button.
  3. Vi forbinder elementet erklæret i filen attribut main.xml.
  4. I onClick metode til lytteren indsætte en ny sag ved at indtaste koden for den ønskede adfærd for den pågældende knap.
  5. Knap til at associere lytteren med metoden setOnClickListener.
Som du kan se det hele meget enklere og derfor uden tvivl den bedste løsning set i det foregående kapitel.

Hjælpe med at udvikle applikationer til Android
E-Learning
AutoCAD (eBook) AutoCAD (eBook)
Oprettelse af arkitektoniske strukturer. På kun 29 €.
CSS (Kursus) CSS (Kursus)
Web Design og tilgængelighed i henhold til W3C CSS og XHTML. Fra 29 €.
Ruby og Ruby on Rails (Kursus) Ruby og Ruby on Rails (Kursus)
Opret software og web-applikationer med Ruby og RoR. Fra 39 €.
Sponsorerede links