..
Iepriekšējā nodaļā nebija apzināti piedāvā lasītājam optimizēta versija klausītājam, jo tā bija izvēlējusies vispirms paskaidrot pamati operāciju, lai novērstu pārpratumus un sekot lineāro ceļu iedarbību. No īstenots viedokļa, tomēr, kods iepriekš - kā teikts - tas noteikti nav vēlamais risinājums.
Ko mēs redzam tagad, tāpēc, ir optimizēta īstenot mūsu klausītāju, radot objektu izmantot gan OnClickListener pogas metodi setOnClickListener.
Posizioniamoci, pēc tam pieskarieties failu HelloWorld.java un ievietojiet šādu kodu:
View.OnClickListener View.OnClickListener vadītājs = jauns () {
valsts spēkā OnClick (View skatā) {
slēdzis (view.getId ()) {
R.id.bottone1 mājas:
textView1.setText ("E" tika noklikšķināts pogu 1 !!!!!");
pārtraukuma;
R.id.bottone2 mājas:
textView1.setText ("E" pogu noklikšķina 2 !!!!!");
pārtraukuma;
}
}
};
bottone1.setOnClickListener (vadītājs);
bottone2.setOnClickListener (vadītājs);
Tātad, vispirms jums izveidot objekta tipa OnClickListener, un pēc jauno būvēt sauc konstruktors klases tad iet pārdefinēt OnClick metodi, kā mēs to darījām agrāk.
Klausītājs ka mēs esam radījuši, ir atšķirība, ka pats gan bottonni un tāpēc, nevis iepriekšējiem īstenošanas, mēs saglabāti atmiņas par jaunu gadījumu klausītājs. Priekšrocība ir vēl uzskatāmāk, cik pogas logā.
Būtībā klausītājs ir spējīgs uzminēt, kura no divām pogām tika noklikšķināts rīkojas atbilstoši. Ar pogu atzīšana ir nospiesta, izmantojot slēdzi, pamatojoties uz nosacījumu view.getId ().
Kā mēs redzam OnClick metode ir kā arguments Skatīt un pēc tam, kad poga ir noklikšķinājuši, View objekts ir inicializēts ar podziņu. Izmantojot metodi getId () atgriešanās unikāls id saistīta ar pogu failu R.java mēs redzējām iepriekšējās nodaļās.
Šajā brīdī ir iespējams atšķirt pogu nospiestu, pamatojoties uz id pogas, kā mēs varam redzēt, ja būvēt.
Kad par OnClick metode kods ir izmantot gan metodi setOnClickListener pogas kā arguments precīzi "OnClickListener izveidota agrāk.
Pēc tam, kad saprata, kodu parādīts šajā nodaļā, tas ir viegli izmantot un viegli mainīt. Faktiski, šis īstenošanu, kā arī ļauj izmantot mazāk atmiņas (bet ne mazāk svarīgi, plānojot ierīcēm ar ļoti ierobežotu atmiņu, piemēram, tālruņa) ir liela priekšrocība, lai to viegli maintainable. Tas ir tāpēc, ja mums ir nepieciešams, lai mainītu uzvedību klausītājs zinās precīzi, cik lielu daļu no koda doties uz rediģēt. Same lieta, jūs nevarat teikt, ja viņi izmanto veco īstenošanai, jo tādā gadījumā mums vajadzētu iet cauri visiem kodu katram elementam, kas tiek izmantots, lai klausītājs, tad andarne modificēt kodu iekšā.
Uzlabota īstenošana ir arī viegli paplašināma, it kā mēs būtu nepieciešams, lai iekļautu citu pogu, kas izmanto to pašu klausītājam būs izpildiet šādus soļus:
| |
Excel (Ebook)
Izveidojiet izklājlapas un aprēķinu. Tikai 25 €. |
| |
Photoshop (Kurss)
Web grafikas un foto rediģēšanas ar populāro Adobe Photoshop. Sākot no 49 €. |
| |
SQL un datu bāzes (Course)
Izveidot un pārvaldīt relāciju datu bāzēm. Sākot no € 39. |