Android Recyclerview:如何编程选择TextView背景颜色



我有一个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"));
    }
}

希望这有帮助

相关内容

  • 没有找到相关文章

最新更新