Comment gérer les clics sur le bouton à l'aide de XML onClick dans des Fragments

Pré-Honeycomb (Android 3), chaque Activité a été enregistrée pour gérer les clics de bouton via le onClick balise dans une Mise en page XML:

android:onClick="myClickMethod"

À l'intérieur de cette méthode, vous pouvez utiliser view.getId() et une instruction switch pour faire le bouton de la logique.

Avec l'introduction de Nid d'abeille, je suis en rupture de ces Activités dans les Fragments qui peuvent être réutilisés à l'intérieur de nombreuses Activités différentes. La plupart du comportement des boutons est une Activité indépendante, et je voudrais le code de résider à l'intérieur de l'Fragments de fichier sans l'aide de l'ancien (pré 1.6) méthode d'enregistrement de la OnClickListener pour chaque bouton.

final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        //Perform action on click
    }
});

Le problème est que lors de ma mise en page sont gonflés, il est encore l'Activité d'hébergement, qui reçoivent un clics de bouton, pas les différents Fragments. Est-il une bonne approche soit

  • Enregistrer le fragment de recevoir les clics de bouton?
  • Passer les cliquez sur les événements à partir de l'Activité pour l'fragment ils appartiennent?
  • Ne pouvez-vous pas gérer l'enregistrement des auditeurs dans le onCreate de le fragment?
  • Oui, mais je ne veux pas avoir à utiliser setOnClickListener et findViewById pour chaque bouton, c'est pourquoi onClick a été ajouté, afin de rendre les choses plus simples.
  • En regardant la accepté de répondre, je pense que l'aide de setOnClickListener est couplée de manière plus lâche que de coller à XML onClick approche. Si l'activité est de "en avant" à chaque clic de souris vers la droite fragment cela signifie que le code sera à changer à chaque fois un fragment est ajouté. À l'aide d'une interface de découpler du fragment de la classe de base n'aide pas avec qui. Si le fragment inscrit sur le bon bouton lui-même, l'activité reste complètement agnostique quel est le meilleur style de l'OMI. Voir aussi la réponse de Adorjan Princz.
  • être d'accord avec Adriaan sur celui-ci. Avoir un aller de Adorjan de réponse et de voir si la vie n'est pas mieux après.
InformationsquelleAutor smith324 | 2011-05-22