Méthode Android setOnClickListener - Comment ça marche?
J'ai du mal à comprendre ce code. Je reçois ce que findViewById
obtiendrez le bouton de widget et puis il va la lancer. Ensuite, il va utiliser la touche pour appeler le setOnClickListener
méthode. Cependant, je ne sais pas ce que c'est que l'argument transmis dans les setOnClickListener
et je n'ai jamais vu de code comme ça avant. Comment est-ce qu'il crée un nouvel objet, mais est capable de créer une méthode de son propre sein d'une autre méthode argument? Ce serait génial si quelqu'un pouvait expliquer cela. En outre, ce type d'objet est la setOnClickListener
méthode prenant en?
btn = (Button)findViewById(R.id.firstButton);
btn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
tv.setText(months[rand.nextInt(12)]);
tv.setTextColor(Color.rgb(rand.nextInt(255)+1, rand.nextInt(255)+1, rand.nextInt(255)+1));
}
});
source d'informationauteur rayleigh
Vous devez vous connecter pour publier un commentaire.
Il fonctionne comme ceci. Vue.OnClickListenere est défini -
Aussi loin que nous savons que vous ne peut pas instancier un objet
OnClickListener
car il ne dispose pas d'une méthode de mise en œuvre. Il y a donc deux façons que vous pouvez aller par vous pouvez implémenter cette interface qui remplaceonClick
méthode comme ceci:Mais c'est pénible de le faire chaque fois que vous souhaitez définir un écouteur de clics. Afin d'éviter cela, vous pouvez fournir à la mise en œuvre de la méthode sur place, tout comme dans l'exemple que vous avez donné.
setOnClickListener
prendView.OnClickListener
comme paramètre.C'est la meilleure façon de mettre en œuvre Onclicklistener pour de nombreux boutons dans une rangée
mettre en œuvre la Vue.onclicklistener.
C'est un bouton dans le MainActivity
C'est une remplacer la méthode
Que ce manuel dit sur
setOnClickListener
méthode est la suivante:Paramètres
Et normalement vous devez l'utiliser comme ceci
Prendre un coup d'oeil à cette leçon ainsi La construction d'une Calculatrice Simple à utiliser Android Studio.