10
votes

Android Onclick Méthode

J'ai deux méthodes onclick dans le projet Android xxx

et j'ai onclick méthode dans laquelle je dois appeler cette méthode directement xxx < p> Y a-t-il une solution pour cela?


1 commentaires

Je vous suggère de suivre benvd suggestion, mais toujours pour le souci de celui-ci, utilisez clr.performclick () dans l'auditeur.


4 Réponses :


15
votes

Vous voulez appeler le premier onclick de la seconde? Il suffit d'extraire le contenu de votre premier onclick dans une méthode distincte et appelle cette méthode de chaque onclick .

Edit: selon le commentaire de ST0LE, vous pouvez faire ce que vous voulez en appelant clr.performclick () . (Ne savait pas ça.) Encore, l'extraction d'une méthode distincte semble plus propre.


0 commentaires

2
votes

Je recommanderais d'utiliser le même onclicklistener pour les deux boutons si les deux boutons doivent vraiment faire la même chose: xxx

ou si ce n'est pas exactement pareil, vous pouvez accéder à la méthode de l'auditeur par l.onclick (null); manuellement ..


0 commentaires

9
votes

Vous devez vous mettre à utiliser pour utiliser la manière la plus simple que je fais toujours comme ci-dessous:

@Override
public void onCreate(Bundle savedInstanceState) {
        button1.setOnClickListener(onClickListener);
        button2.setOnClickListener(onClickListener);

}

private OnClickListener onClickListener = new OnClickListener() {

    @Override
    public void onClick(final View v) {
             switch(v.getId()){
                 case R.id.button1:
                      //DO something
                 break;
                 case R.id.button2:
                      //DO something
                 break;
              }

    }
};


1 commentaires

Une suggestion de bouton serait de casser tous les cas. Cela rendrait cela plus efficace.



12
votes

Vous pouvez faire quelque chose comme celui-ci dans le fichier XML

public void some_function(View view) {
 // stuff...
}


1 commentaires

Le paramètre (vue Affichage) est le gotcha. Merci!