0

Je crée une application similaire à l'application Chat. Maintenant, je ne veux pas que l'utilisateur actuel qui compte actuellement dans l'appareil affiche dans la liste de résultats FirebaseRecyclerAdapter.J'ai l'UID de l'utilisateur actuel. Maintenant, je veux filtrer seulement cet UID actuel de Adapter.Comment est-ce possible? Merci d'avance.Masquer une valeur de FirebaseRecyclerAdapter Afficher

Voici mon code FirebaseRecyclerAdapter

 FirebaseRecyclerAdapter<Donors, DonorsViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Donors, DonorsViewHolder>(
      Donors.class, 
      R.layout.donors_single_layout, 
      DonorsViewHolder.class, 
      mUsersDatabase.orderByChild("search").equalTo(searchKey) 
    ) { 

     @Override 
     protected void populateViewHolder(DonorsViewHolder viewHolder, Donors model, int position) { 

      viewHolder.setName(model.getName()); 
      viewHolder.setLocation(model.getLocation()); 
      viewHolder.setImage(model.getThumb_image(), getApplicationContext()); 
      viewHolder.setGroup(model.getGroup()); 

      final String donorID = getRef(position).getKey(); 

      //WANTED TO HIDE THIS WAY BUT THAT DOESN"T WORK :( 
      if(donorID == mCurrentUserId){ 
       viewHolder.setIsRecyclable(false); 
       return; 
      } 

     } 
    }; 

    mDonorsList.setAdapter(firebaseRecyclerAdapter); 
    firebaseRecyclerAdapter.notifyDataSetChanged(); 
+0

vous ne souhaitez que masquer ou supprimer? –

+0

Je veux seulement cacher monsieur. Vous n'avez pas besoin de retirer l'utilisateur actuel de la base de données –

+0

Voir https://stackoverflow.com/questions/41223413/how-to-hide-an-item-from-recycler-view-on-a-particular-condition –

Répondre

0

Essayez cette:

viewHolder.setVisibility(View.INVISIBLE); 

Votre Code comme ceci:

if(donorID == mCurrentUserId){ 
       viewHolder.setIsRecyclable(false); 
       viewHolder.setVisibility(View.INVISIBLE); 
       return; 
      } 

Ou:

viewHolder.setVisibility(View.GONE); 

Alors le code comme ceci:

if(donorID == mCurrentUserId){ 
        viewHolder.setIsRecyclable(false); 
        viewHolder.setVisibility(View.GONE); 
        return; 
       } 

ce si Works cache le itemview

+0

Désolé. ..setVisibility (View.INIVISIBLE) ne fonctionne pas pour viewHolder.Thanks pour votre temps –

+0

Que se passe-t-il lorsque vous ajoutez? @WalidAlAshik –

+0

Essayez mon deuxième moyen. @WalidAlAshik –