我有一个CardViews的RecyclerView列表。在每个CardView上,用户先前从下拉对话框中选择“类型”。类型选择是“工作”和“主页”。类型选择以String形式存储在SQLite数据库中。当我运行该应用时,没有显示TextView“cardtype1”的视图,该视图应该显示数据库中的类型选择。android recyclerview:我如何以编程方式选择TextView背景色?
如何为CardView上显示的TextView类型设置不同的背景颜色,具体取决于用户选择并存储在数据库中的内容?以下是适配器文件的部分代码。
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"));
}
什么是你的代码的问题,你没看到后面地面还是什么?请提供什么'listItem'包含它已经携带的位置。 – Ibrahim
正确,没有显示背景颜色。 – AJW
这似乎是'listItem'的问题,请记录下来以便测试。 – Ibrahim