提问者:小点点

如何在Android Studio中的RecyclerView中更改图像?


我正试图在一个职位上实施一个类似/不类似的系统。 我想在用户名为“abcd”的地方显示一个红星,否则将显示一个白星。 接口为:

interface onStarClicked{
    void isClicked(String name);
}

viewholder中的绑定函数为:

public void bind(Post post, onStarClicked starClicked){


        //Log.d("NAME", post.getName());

        String usrnm = post.getName();
        starClicked.isClicked(usrnm);

        name.setText(post.getName());
        posttext.setText(post.getPost());
        starCount.setText(String.valueOf(post.getHearts()));

    }

post是数据库中存在的post的模型。 OnBindViewHolder是:

@Override
    protected void onBindViewHolder(@NonNull final PostViewHolder holder, int position, @NonNull Post model) {


        final ImageView img = holder.itemView.findViewById(R.id.star_click);

        holder.bind(model, new onStarClicked() {
            @Override
            public void isClicked(String name) {


                if(name == "abcd"){
                    Glide.with(holder.itemView.getContext())
                            .load(R.drawable.red_star)
                            .into(img);
                }else{
                    Glide.with(holder.itemView.getContext())
                            .load(R.drawable.white_star)
                            .into(img);
                }
            }




        });

    }

imageview仍然为每个帖子显示白星。 如何解决这个问题?


共1个答案

匿名用户

这是一条你应该做的线:

if(name.equals("abcd"){
  //do your thing
}