..


Enllaços patrocinats

Un oient atent per manejar els clics en els botons

En el capítol anterior, no va ser deliberadament oferir al lector una versió optimitzada del detector, com es prefereix explicar primer les bases de l'operació per tal d'evitar la confusió i segueixen un camí lineal de l'exposició. Des d'un punt de vista aplicat, però, la paraula clau - com s'ha esmentat - no és la solució preferida.

El que veiem ara, per tant, és una implementació optimitzada dels nostres oients mitjançant la creació d'un objecte que s'invoca en els botons OnClickListener ambdós usant el mètode de setOnClickListener.

Posizioniamoci, i després a l'arxiu HelloWorld.java i introduïu el següent codi:






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



  



 public void onClick (View vista) {

 

    

    



 switch (view.getId ()) {



            	

      



 R.id.bottone1 cases:



        



 textView1.setText ('I' s'ha fet clic el botó 1 !!!!!");



        



 break;



            	    	

      



 R.id.bottone2 cases:



        



 textView1.setText (botó de 'E' s'ha fet clic dues !!!!!");



        



 break;



    



 }

	

  



 }







 };



        





 bottone1.setOnClickListener (director);







 bottone2.setOnClickListener (director);



Per tant, primer es crea un objecte de OnClickListener tipus i, després de la nova estructura, en invocar el constructor de la classe, llavors va a redefinir el mètode OnClick com ho vam fer anteriorment.

L'oient que hem creat té la distinció de ser el mateix per a tots dos i per tant bottonni de la implementació anterior, tenim la memòria guardada en una nova instància d'un oient. L'avantatge és encara més evident a mesura que el nombre de botons a la finestra.

En essència, l'oient és capaç d'entendre quin dels dos botons es fa clic a actuar en conseqüència. El reconeixement de prémer el botó amb un interruptor basat en la condició view.getId ().

Com podem veure el mètode OnClick té com a argument d'una vista i després, quan es fa clic en un botó, l'objecte View s'inicialitza amb el botó premut. Utilitzant el mètode getId () retorna l'identificador únic associat a la tecla a l'arxiu de R.java vam veure en capítols anteriors.

En aquest punt, és possible distingir el botó premut sobre la base de la ID del botó, com podem veure en el cas de la construcció.

Una vegada que el codi per al mètode OnClick es diu el mètode setOnClickListener tant en els botons de la dreta com OnClickListener un argument "creat anteriorment.

Un cop assolit, el codi que es mostra en aquest capítol, és fàcil d'usar i fàcil de canviar. De fet, aquesta implementació, a més de permetre un ús de memòria inferior (però no menys important en la programació per a dispositius amb memòria limitada igual que un telèfon) té la gran avantatge de ser fàcil de mantenir. Això és perquè si hem de canviar el comportament de l'oient sabrà exactament quina part del codi vagi a editar. El mateix no es pot dir si s'utilitza la implementació d'edat, ja que, en aquest cas, cal passar per tot el codi de cada element que s'utilitza per a un oient i després andarne modificar el codi a l'interior.

La millor aplicació és fàcilment ampliable, com si tinguéssim la necessitat d'inserir un botó que utilitza la mateixa escolta simplement feu el següent:

  1. Declarem que el botó de la main.xml arxiu.
  2. En la nostra activitat, declarem un altre atribut de tipus botó.
  3. Nosaltres associem l'element d'atribut declarat en la main.xml arxiu.
  4. En l'oient onClick mètode d'inserir un nou cas d'introduir el codi de la conducta desitjada per al botó.
  5. Botó per associar l'oient amb la setOnClickListener mètode.
Com es pot veure tot el que és molt més simple i, per tant, sense cap dubte la millor solució es veu en el capítol anterior.

Ajudar a desenvolupar aplicacions per Android
E-Learning
CSS (Curs) CSS (Curs)
Disseny Web i d'accessibilitat d'acord amb W3C CSS i XHTML. A partir de 29 €.
Flash MX (Curs) Flash MX (Curs)
Convertir-se en un dissenyador de llocs web a partir de 29 €.
Linux (Curs) Linux (Curs)
Guia completa de codi obert del sistema. A partir de 49 €.
Enllaços patrocinats