I have a RecyclerView list of CardViews. On each CardView, the user previosuly selected the "type" from a dropdown dialog. The type choices are "Work" and "Home". The type choice is stored in an SQLite database as a String. When I run the app, no view is shown for the TextView "cardtype1" which is supposed to show the type choice from the database.
How can I set a different background color for TextView type that is shown on the CardView, depending on what the user selects and is stored in the database? Below is the partial code from the Adapter file.
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"));
}
Use the following to set the textColor when user selects from your two option.
Hope this helps
when user click on the option, update the required object in the list,
listItems
. Then callnotifyDataSetChanged()
method in your adapter.