如何在Android Studio中更改RecyclerView中的图像?
我试图在一个帖子上实现一个相似/不同的系统。我希望在用户名为“abcd”的位置显示一颗红星,否则将显示一颗白星。 界面为:如何在Android Studio中更改RecyclerView中的图像?,android,android-studio,Android,Android Studio,我试图在一个帖子上实现一个相似/不同的系统。我希望在用户名为“abcd”的位置显示一颗红星,否则将显示一颗白星。 界面为: interface onStarClicked{ void isClicked(String name); } viewholder中的绑定功能是: public void bind(Post post, onStarClicked starClicked){ //Log.d("NAME", post.getName());
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仍然为每篇文章显示了白星。如何解决这个问题?这是一个字符串,你应该做:
if(name.equals("abcd"){
//do your thing
}
这是一个字符串u应该做的:
if(name.equals("abcd"){
//do your thing
}