0

我正在尝试在帖子上实现 Like/Unlike 系统。我希望在用户名为“abcd”的地方显示一个红星,否则会显示一个白星。界面是:

interface onStarClicked{
    void isClicked(String name);
}

视图中的绑定函数是:

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是数据库中帖子的模型。是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);
                }
            }




        });

    }

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

4

1 回答 1

2

它是你应该做的一个字符串:

if(name.equals("abcd"){
  //do your thing
}
于 2020-06-10T14:40:13.877 回答