MR.Iraji
MR.Iraji

Reputation: 54

How to do something on an specific position of a recyclerView adapter?

I want to do something on position 0 of an adapter onBindViewHolder method. The code is shown below:

@Override
    public void onBindViewHolder(final MyViewHolder myViewHolder, final int position) {
        if(position == 0)
        {
            myViewHolder.transparentBlackView.setVisibility(View.GONE);
        }
        Picasso.with(context).load(urlList.get(position)).into(myViewHolder.pictureImageView);
        transparentViewList.add(myViewHolder.transparentBlackView);
        myViewHolder.positionTextView.setText(position+"");
    }

But I don't know why code inside if block (myViewHolder.transparentBlackView.setVisibility(View.GONE);) runs on position 9 too?

Can someone help me?

Upvotes: 0

Views: 67

Answers (1)

SpiritCrusher
SpiritCrusher

Reputation: 21053

You need to add else part too.

 public void onBindViewHolder(final MyViewHolder myViewHolder, final int position) {
    if(position == 0)
    {
        myViewHolder.transparentBlackView.setVisibility(View.GONE);
    }else{
   myViewHolder.transparentBlackView.setVisibility(View.VISIBLE);
    }
    Picasso.with(context).load(urlList.get(position)).into(myViewHolder.pictureImageView);
    transparentViewList.add(myViewHolder.transparentBlackView);
    myViewHolder.positionTextView.setText(position+"");
}

Upvotes: 1

Related Questions