2010-11-21 6 views
0

Je suis en train d'écrire une application Android qui affiche un certain nombre de boutons dynamiquement. Ma question est de savoir comment implémenter la fonctionnalité onClickListener() pour Array Of Buttons. Je veux dire comment reconnaître le bouton sur lequel on clique dans la méthode onClick() public void? J'ai besoin d'afficher un toast en fonction du bouton sur lequel on clique.OnClickListener() l'implémentation de Array Of Buttons dans Android

Répondre

1

Vous pouvez créer une classe dérivée de OnClickListener, qui, dans le constructeur, prend l'ID du bouton.

Quelque chose comme:

class MyClickListener extends OnClickListener() { 
    int buttonId; 

    MyClickListener(int id) { 
     buttonId = id; 
    } 

    protected void onClick(View v) { 
     ... // do something with buttonId 
    } 
} 

Ensuite, dans votre onCreate, vous feriez:

int i, nb = mButtons.size(); // if mButtons is a List<Button> 
for (i = 0; i < nb; i++) { 
    mButtons.get(i).setOnClickListener(new MyClickListener(i)); 
} 
+0

Benoit Duffez .Très bien.Nice –

3

La méthode onClick() est passé la vue qui a été cliqué ...

public void onClick(View v) { 
... 
} 

Utilisez v.getId() pour renvoyer l'identifiant du bouton.