0
votes

Ajouter un ONCLICK à une partie d'un article RecyclerVoir

Je travaille sur un type d'application en ligne, et j'ai frappé une bosse: j'ai été chargé d'ajouter un système de favoris, mais je ne peux pas comprendre comment activer la pression d'un bouton qui fait partie de l'élément Recyclerview pour l'ajouter aux favoris. (Dans ce cas, le cœur, qui est censé se tourner vers un coeur complet quand il clique) Image du recyclerview


0 commentaires

3 Réponses :


1
votes

Ajouter une valeur booléenne pour le favori de votre liste. Initialement, gardez-le faux. Vous devez avoir deux tiroirs, un pour l'état sélectionné et un autre pour l'état non sélectionné.

Dans votre titulaire de l'ONBindview, fixez-le à l'heure d'exécution sur la base de la condition ci-dessus. P>

holder.ivHeart.setOnClickListener(v -> {
                if(list.isfav) {
                 list[adapterPosition].isfav = false;
                }else{
               list[adapterPosition].isfav = true;
                }
               notifyItemChanged(adapterPosition);
           });


0 commentaires

0
votes

Dans votre adaptateur RECYCLERVIEW ONBINVViewholder () STRET> Méthode, ajoutez cliquez sur Soutailer à votre vue et modifiez-le de manière programmable.

Le code sera comme celui-ci P>

@Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        super.onBindViewHolder(holder, position);

        holder.your_like_imageview.setOnClickListener{
        holder.your_like_imageview.setImageDrawable(ContextCompat.getDrawable(context,R.drawable.something_else));
       };



    }


0 commentaires

0
votes

Je suppose que vous utilisez une vision de l'image pour le cœur. Ce que vous pouvez faire est de définir un auditeur d'un clic sur cette vue ImageView et processus cliquez sur.

Un moyen idéal de le faire serait d'utiliser une interface pour gérer les événements de clic que vous passez à l'adaptateur.

Cependant, vous pouvez faire quelque chose comme celui-ci dans la méthode Onbindviewholder :

imageview.setonclicklistener { // Selon votre logique, changez la teinte pour l'icône ou l'étanchéité OnClick (Data [Position], AddTowishList) notifydatastetchangeed () }

La méthode onclick recevra l'élément concerné et un drapeau à ajouter ou à le supprimer de la liste de souhaits:

amusant onclick (données: données, addTowishlist: boolean) { // Vous pouvez effectuer l'addition / suppression de la liste de souhaits ici }


0 commentaires