..
Ankstesniame skyriuje buvo ne sąmoningai siūlo skaitytojui optimizuota versija klausytojas, nes ji buvo teikiama pirmenybė pirmiausia paaiškinti veiklos pagrindai siekiant išvengti painiavos ir sekti finišo poveikio. Nuo požiūriu įgyvendinamas, tačiau, kodas pirmiau - kaip sakė - tai tikrai nėra tinkamiausias sprendimas.
Ką mes matome dabar, todėl yra optimizuotas įgyvendinti mūsų klausytojų sukuriant objektą remtis abiejų OnClickListener mygtukai metodu setOnClickListener.
Posizioniamoci, tada palieskite HelloWorld.java failą ir įterpkite šį kodą:
View.OnClickListener View.OnClickListener vadybininkas = nauji () {
public void onClick (vaizdas) {
jungiklis (view.getId ()) {
R.id.bottone1 namuose:
textView1.setText ("E" buvo paspaudėte mygtuką 1 !!!!!");
pertrauka;
R.id.bottone2 namuose:
textView1.setText ("E" mygtuką, buvo paspaudėte 2 !!!!!");
pertrauka;
}
}
};
bottone1.setOnClickListener (vadovas);
bottone2.setOnClickListener (vadovas);
Taigi, pirmiausia jums sukurti tipo OnClickListener objektą ir po to, kai nauja konstrukcija yra vadinamas klasės tada ketina iš naujo onclick metodo, kaip tai darėme anksčiau konstruktorius.
Klausytoją, kad mes sukūrėme turi būti vienodi tiek bottonni ir todėl skirtumas, nei ankstesnių įgyvendinimo, mes išgelbėti dėl naujos instancijos klausytojo atmintį. Privalumas yra tai, dar labiau pastebimas mygtukų skaičius langą.
Iš esmės, klausytojas gali atspėti, kuris iš dviejų mygtukų buvo paspaudėte veikia atitinkamai. Mygtuko pripažinimas yra spaudžiamas naudojant jungiklį remiantis sąlyga view.getId ().
Kaip matome onclick metodas kaip argumentą Peržiūrėti ir tada, kai spustelėsite, Peržiūrėti objektas yra inicializuoti ir mygtuką nuspaustą. Metodu getId () grąžins unikalų ID, susijusios su bylos R.java mygtuką matėme ankstesniuose skyriuose.
Šiuo metu yra įmanoma atskirti mygtuko dėl mygtuko ID pagrindu, kaip matome, tuo atveju, statyti.
Kai už onclick metodo kodas yra remtis tiek metodas setOnClickListener mygtukai kaip argumentą tiksliai "OnClickListener sukurta anksčiau.
Kai suprantama, kodą, parodytą šiame skyriuje, ji yra paprasta naudoti ir lengva pakeisti. Tiesą sakant, tai įgyvendinti, taip pat leidžia naudoti mažiau atminties (bet ne mažiau kai programavimo prietaisus su labai mažai atminties, pavyzdžiui, telefonu) yra didelis privalumas yra Patogiausią aptarnavimo. Taip yra todėl, jei mes turime pakeisti elgesį klausytojui bus tiksliai žinoti, kokia dalis kodo eiti redaguoti. Tas pats negali pasakyti, jei jie naudoja senas įgyvendinimo, nes, tokiu atveju turėtume eiti per visus kodą kiekvieną elementą, kuris yra naudojamas klausytoją tada andarne pakeisti kodą į vidų.
Geresnis įgyvendinimas taip pat yra lengvai plečiama taip, tarsi mes turėjome reikia įterpti kitą mygtuką, kuris naudoja tą patį klausytoją turės sekti šiuos žingsnius:
| |
ASP.NET (kurso)
Visas kursas statybos interneto programų nuo 49 €. |
| |
"Linux" (kurso)
Užbaigti vadovą, kad atviro kodo sistema. Nuo 49 €. |
| |
SQL ir duomenų bazės (kurso)
Kurkite ir tvarkykite reliacinėse duomenų bazėse. Nuo 39 €. |