【发布时间】:2020-05-31 01:17:08
【问题描述】:
我的每一行都有一个 ImageView(带边框心形图标)
recyclerview。我使用此图标添加到收藏列表。当我按下这个
图像视图已更改为其他图标(完整的心形图标)。一切都好 , 但是当我去其他的时候
Activity 返回默认图标(边框心形图标)。我使用旗帜来完成这项工作。
这是我的 RecyclerView 适配器(图片 onClick 事件):
//============== IMG ADD TO FAVORITE CLICK LISTENER ======================
holder.imgAddFav.setOnClickListener(new View.OnClickListener() {
boolean flag = false;
@Override
public void onClick(View v) {
QuestionDatabaseAdapter databaseAdapter = new QuestionDatabaseAdapter(v.getContext());
if (!flag) {
ModelQuestion question = new ModelQuestion();
question.setQuestionTitle(questionha.get(position).getQuestionTitle());
question.setQuestionDesc(questionha.get(position).getQuestionDesc());
question.setQuestionDate(questionha.get(position).getQuestionDate());
question.setQuestionAuthorName(questionha.get(position).getQuestionAuthorName());
question.setQuestionAuthorPic(questionha.get(position).getQuestionAuthorPic());
question.setQuestionDownLink(questionha.get(position).getQuestionDownLink());
databaseAdapter.saveQuestion(question);
Toast.makeText(v.getContext(), "Added !", Toast.LENGTH_SHORT).show();
holder.imgAddFav.setImageResource(R.drawable.ic_favorite_red_700_24dp);
flag = true;
} else {
Toast.makeText(v.getContext(), "Removed !", Toast.LENGTH_SHORT).show();
holder.imgAddFav.setImageResource(R.drawable.ic_favorite_border_red_a700_24dp);
flag = false;
}
}
});
}
【问题讨论】:
-
使用数据库存储状态,然后您可以检索它并显示正确的图标
-
这个 RecyclerVeiw 用 json 填充
-
您需要某种机制来将图标的状态存储在某处。如何做到这一点由您自己决定。
标签: android