Naar content
Trending apps
  • Google Duo: videogesprekken van hoge kwaliteit

  • Gmail

  • Maps: Navigatie en OV

  • WhatsApp Messenger

  • Messenger: gratis sms'en en videobellen

Trending games
  • Fortnite

  • Minecraft Earth

  • Dr. Mario World

  • Harry Potter: Wizards Unite

  • Breaking Bad: Criminal Elements

Trending smartphones
  • OnePlus Nord N10 5G

  • POCO X3

  • Google Pixel 5

  • Google Pixel 4a

  • OnePlus Nord

Nieuwste tablets
  • Samsung Galaxy Tab S6

  • Samsung Galaxy Tab A 10.5

  • Samsung Galaxy Tab S4

  • Samsung Galaxy Tab S3 9.7

  • Asus Zenpad 3S 10

lrijswijk

  • Lid sinds 29 oktober 2011
  • Berichten 14
  • Reputatie 0
  • #1
  • 7 augustus 2012
  • 11:32

Heren,

Waarschijnlijk een basis vraag maar aangezien ik nog beginner ben moet dat kunnen, hoop ik.

Ik begrijp het nut van de onClickListener niet helemaal. Er zijn meerdere manieren om het indrukken van een knop te monitoren. Op Input Events | Android Developers wordt onder andere het volgende voorbeeld gegeven:

        Button button = (Button)findViewById(R.id.corky);         button.setOnClickListener(this);

Hierbij is “onClickListener” in de class geimplementeerd. Wat doet de onderste regel? Deze regel wordt bijvoorbeeld niet gebruikt in de DEV Tutorials en daarbij werkt het ook.

Dan zijn er talloze voorbeelden op het internet die het volgende doen:
public class Mtest extends Activity {
Button b1;
Button b2;
public void onCreate(Bundle savedInstanceState) {
...
b1 = (Button) findViewById(R.id.b1);
b2 = (Button) findViewById(R.id.b2);
b1.setOnClickListener(myhandler1);
b2.setOnClickListener(myhandler2);
...
}
View.OnClickListener myhandler1 = new View.OnClickListener() {
public void onClick(View v) {
// it was the 1st button
}
}
View.OnClickListener myhandler2 = new View.OnClickListener() {
public void onClick(View v) {
// it was the 2nd button
}
}
}

Is dit niet erg omslachtig en erg dubbelop? En er zijn inderdaad talloze voorbeelden op internet te vinden maar ik wil graag altijd weten WAAROM iets is. Dan leer je er in mijn ogen van en kun je het zelf begrijpend toepassen.

Alsvast bedankt.

Bewerkt (24 april 2013 15:22)

BozeVogel

  • Lid sinds 20 oktober 2011
  • Berichten 152
  • Reputatie 0
  • #2
  • 8 augustus 2012
  • 15:18

Omdat je altijd kunt kiezen uit iets in je XML files zetten of iets coden met Java.
Voorbeeld (Tekstkleur instellen):
XML

<TextView
android:textColor="#000000">
Java
TextView txtvText = (TextView) findViewById(R.id.txtvText);
txtvText.setColor("#000000");

Als je een onClickListener gebruikt, hoef je dus niet te gaan “hardcoden” in je XML files.

Bewerkt (24 april 2013 15:23)

Reageer

Om te reageren, dien je te zijn ingelogd. Druk op de onderstaande knop om in te loggen of maak een nieuwe account aan.

Inloggen Registreren