如何在recyclerView适配器的特定位置执行某些操作?

时间:2017-12-29 08:41:33

标签: android android-recyclerview

我想在适配器onBindViewHolder方法的位置0上做一些事情。 代码如下所示:

@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+"");
    }

但是我不知道为什么块内的代码(myViewHolder.transparentBlackView.setVisibility(View.GONE);)也在第9位运行?

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您还需要添加else部分。

 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+"");
}