6
votes

Recyclerview onitemClick auditeur

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>: xxx /profe> et voici voici mon nouvel adaptateur code> classe code> en utilisant RECYCLERView CODE>: P>

public class FeedItem {
    private String title;

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

}


0 commentaires

3 Réponses :


8
votes

Vue entière du premier magasin dans votre point de vue: xxx pré>

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) {

        }
   });
}


6 commentaires

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 est déjà disponible lorsque vous étendez recyclerview.viewholder , mais s'appelle itemView


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.



1
votes

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();

        }

    }


0 commentaires

1
votes

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> xxx pré>

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>


0 commentaires