onclicklistener sur le point spécifique de la recyclerview dans android
Je vais poser des question très simple, mais je suis coincé dans ce pour un long moment.
après la carte, il est un recycleview qui a plus de 2 images dans chaque ligne.
maintenant, je veux créer l'écouteur de clics sur les images plutôt que de les recycleview.
implantation correspondante(layout_main.xml) de cette activité(MainActivity.java) contiennent uniquement des recyclerview. les éléments de chaque ligne est dans une autre mise en page(layout_images.xml). je reçois les images de layout_images.xml et gonflez-les à la classe d'adaptateur(Adapter.java).
maintenant comment mettre en action auditeur sur les images seulement.
deuxièmement, je veux obtenir l'image sur laquelle j'ai cliqué. comment faire pour l'obtenir.
comme, lorsque l'on clique sur un point de vue-nous créer une méthode comme
public void onClick(View view){
//some code here
}
où la vue est l'objet sur lequel on a cliqué. dans mon cas, comment faire pour obtenir l'image sur laquelle j'ai cliqué.
en utilisant le type de fonte, il pourrait être de lancer une exception lorsque l'utilisateur n'est pas, cliquez sur l'image.
Vous devez vous connecter pour publier un commentaire.
Plusieurs onClick événements à l'intérieur d'un recyclerView:
Pour obtenir l'élément sur lequel l'utilisateur a cliqué vous correspond à l'affichage de l'id de d. v. getId() == yourViewItem.getId()
v.getId() == yourViewItem.getId()
puis-je l'interpréteryourViewItem as R.id.image1?
ou je dois utiliserfindViewById()
et ensuite utiliser cette variable pour l'id correspondantImageView im = (ImageVIew) findViewById(R.id.image1);
im.getId() == v.getId
ouv.getId == R.id.image1
laquelle est la bonne? quelle est la différence entre les deux?Vous devez définir
onClickListener
à laImageView
s à l'intérieur de laonBindViewHolder
méthode, reportez-vous à la suite de la Ldc pour la référence(code à l'intérieur deonBindViewHolder
méthode)Dans Recycler Vue Titulaire, Écrivez votre onclick auditeur code à l'intérieur de
mettre en œuvre les
View.OnClickListener
dans votreViewHolder
de la classe et de mettre en œuvre laonClick
méthode. Ensuite, réglez l'écouteur de clics pour votre ImageView pour cela cliquez sur l'auditeur. Ajouter la fonctionnalité requise dans le onClick de la méthode. Si vous souhaitez implémenter la fonctionnalité de clic dans les autres classes il suffit de créer une interface et de déclarer une méthode de clic en elle. Vous pouvez mettre en œuvre cette méthode dans l'activité/fragment qui contient cette RecycleView. Puis, à partir de votre point de vue titulaires onClick méthode, vous pouvez appeler la méthode de l'interface.Vous pouvez vérifier avec un tag ou d'élément comme ceci:
Tout d'abord définir onclickListener à chaque point de vue, vous voulez être cliqué. Bon endroit pour le faire dans viewHolderConstructor. par exemple
Généralement vous n'avez pas besoin de faire quelque chose de spécifique avec ceux de la vue, comme la mise en tags (Également cruciaux des bibliothèques comme Glied, qui définit ses propres balises pour imageviews ne fonctionnera pas correctement si vous définissez vous possédez l'étiquette. Sur clickListener trouver l'adaptateur de la position de la vue pour être en mesure de retrive les données correspondantes
comme décrit ici
Alors, mais la vérification des points de vue id, evaluete ce que vous voulez faire