我有一个cardViews的回复库列表。在每个cardView上,用户从下拉对话框中选择"类型"。类型的选择是"工作"one_answers"家"。类型选择作为字符串存储在SQLite数据库中。当我运行该应用程序时,对于TextView" CardType1"没有显示视图,该视图应显示数据库中的类型选择。
如何根据用户选择的内容并存储在数据库中的内容,以为文本视图类型设置不同的文本视图类型的背景颜色?以下是适配器文件中的部分代码。
Adapter.java
...
public List<ListItem> listItems;
private static class ItemHolder extends RecyclerView.ViewHolder {
private TextView cardType1;
private ItemHolder(View itemView) {
super(itemView);
cardType1 = (TextView) itemView.findViewById(R.id.cardType1);
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
final ListItem listItem = listItems.get(position);
final ItemHolder itemHolder = (ItemHolder) holder;
itemHolder.cardType1.setText(listItem.getType());
if (listItem.getType() == "Work") {
itemHolder.cardType1.setBackgroundColor(Color.parseColor("#000000"));
}
else if (listItem.getType() == "Home") {
itemHolder.cardType1.setBackgroundColor(Color.parseColor("#008080"));
}
用户单击选项时,请在列表中更新列表中所需的对象,listItems
。然后在适配器中调用notifyDataSetChanged()
方法。
在用户从您的两个选项中选择时,请使用以下内容来设置TextColor。
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
final ListItem listItem = listItems.get(position);
final ItemHolder itemHolder = (ItemHolder) holder;
itemHolder.cardType1.setText(listItem.getType());
holder.itemView.setOnClickListener(new View.OnClickListener() {
if (listItem.getType() == "Work") {
itemHolder.cardType1.setBackgroundColor(Color.parseColor("#000000"));
}
else if (listItem.getType() == "Home") {
itemHolder.cardType1.setBackgroundColor(Color.parseColor("#008080"));
}
}
希望这有帮助