..
I forrige kapittel var ikke bevisst gi leseren en optimalisert versjon av lytteren, fordi det var foretrukket å først forklare det grunnleggende av drift for å unngå forvirring og for å følge en lineær sti av eksponering. Fra et ståsted implementert imidlertid skissert koden over - som sagt - er absolutt ikke den foretrukne løsningen.
Det vi ser nå, er derfor en optimalisert gjennomføring av våre lyttere ved å lage et objekt for å kunne påberopes på begge OnClickListener knapper ved hjelp av metoden setOnClickListener.
Posizioniamoci, deretter filen HelloWorld.java og sett inn følgende kode:
View.OnClickListener View.OnClickListener leder = new () {
public void onClick (Vis visning) {
bryteren (view.getId ()) {
R.id.bottone1 hjem:
textView1.setText ('E' ble klikket knapp 1 !!!!!");
break;
R.id.bottone2 hjem:
textView1.setText ('E' knappen ble klikket to !!!!!");
break;
}
}
};
bottone1.setOnClickListener (leder);
bottone2.setOnClickListener (leder);
Så, første du oppretter et objekt av typen OnClickListener, og etter den nye konstruere kalles konstruktøren for klassen da kommer til å omdefinere onclick metode som vi gjorde tidligere.
Lytteren at vi har skapt har æren av å være den samme for både bottonni og derfor enn den forrige gjennomføring, reddet vi minnet på en ny forekomst av en lytter. Fordelen er enda mer tydelig som antall knapper i vinduet.
I hovedsak er lytteren i stand til å gjette hvilken av to knapper ble klikket handler deretter. Anerkjennelsen av knappen trykkes med en bryter basert på tilstanden view.getId ().
Som vi kan se onclick metoden har som argument en visning og deretter, når en knapp klikkes, er utsikten objekt initialisert med knappen trykkes. Hjelp av metoden getId () returnere den unike id knyttet til knappen i filen R.java vi så i tidligere kapitler.
På dette punktet er det mulig å skille knappen trykkes på grunnlag av id på knappen, som vi kan se i saken konstruere.
Når koden for onclick metoden kalles metoden setOnClickListener knapper på både høyre og passerer argumentet 'OnClickListener opprettet tidligere.
Når forstått, koden vist i dette kapitlet, er det lett å bruke og lett å endre. Faktisk denne implementeringen, samt tillate mindre bruk av minne (men ikke minst når programmering for enheter med svært begrenset minne, for eksempel en telefon) har den store fordelen av å være lett å vedlikeholde. Dette er fordi hvis vi trenger å endre oppførselen til lytteren vil vite nøyaktig hvilken del av koden går å redigere. Samme ting du ikke kan si om de bruker den gamle implementering fordi, i så fall burde vi gå gjennom all kode for hvert element som brukes for en lytter da andarne å modifisere koden innsiden.
Den forbedrede implementeringen er også lett utvides som om vi hadde behov for å sette inn en annen knapp som bruker samme lytteren må følge følgende trinn:
| |
Front Page (Ebook)
Lag websider uten å vite HTML. Bare 25 €. |
| |
Photoshop (Course)
Web grafikk og foto redigering med den populære Adobe Photoshop. Fra 49 €. |
| |
Webmaster Base (First)
Opprette et webområde fra scratch. Starter fra 29 €. |