Comment implémenter recyclerview code> OnItemClick STROND> Soutiter Comme nous le faisons avec ListView, il s'agit de mon ancienne classe adaptateur utilisant
listview code>:
RECYCLERView CODE>: P>
public class FeedItem {
private String title;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
3 Réponses :
Vue entière du premier magasin dans votre point de vue: puis définissez cliquez sur écoute sur Onbindviewholder code>: p>
@Override
public void onBindViewHolder(FeedListRowHolder feedListRowHolder, int i) {
FeedItem feedItem = feedItemList.get(i);
feedListRowHolder.title.setText(Html.fromHtml(feedItem.getTitle()));
feedListRowHolder.mRootView.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
}
});
}
Merci mais cela ne fonctionne que lorsque je vais appuyer sur le texte d'affilée, alors que dans une liste de liste où que nous appuisons dans une rangée qui fonctionne ... alors quelle pourrait être la raison?
Je pense que si vous définissez l'écoute de clic sur la racine racine, vous obtiendrez ce que vous voulez.
Je ne sais pas exactement quel est votre problème, j'ai vu votre autre poste, désolé, je ne peux pas créer d'exemple de projet à tester, mais j'ai mis en œuvre ce que j'ai posté exactement dans une de mes applications :-(
Je ne cherche aucun exemple de projet, ma préoccupation est pourquoi cliquez sur Ne répondant pas quand je vais appuyer sur la ligne
Le MrootView CODE> est déjà disponible lorsque vous étendez
recyclerview.viewholder code>, mais s'appelle
itemView code>
N'ajoutez pas Cliquez sur Soutailer à la méthode Onbindviewholder. Il créerait un nouvel objet OnClickListener pour chaque élément de la liste. Ajoutez-le à votre point de vue personnalisé à la place.
Vous devez d'abord mettre en œuvre votre propre OnItemTouchlistener:
private RecyclerTouchListener.ClickListener mClickListener = new RecyclerTouchListener.ClickListener() { @Override public void onClick(View view, final int position) { //Do something with your item... mRecyclerAdapter.getElementAt(position).doSomething(); } }
Je sais que c'est un peu tard, mais pour tous ceux qui errent et ne sont pas perdus. J'ai trouvé cette solution élégante ici .
Si fondamentalement que vous créez une classe itemClickSupport comme ci-dessous p> puis dans votre activité / fragment dans laquelle vous avez défini et lier votre RecyclERView, effectuez simplement les suivants P> <?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="item_click_support" type="id" />
</resources>