更改 ViewHolder 中第二列的文本

change text in the second column in the ViewHolder

我想改变第二列的文字颜色,所有小于4.0的都变成红色。

我的 viewHolder 代码:

@Override
public void onBindViewHolder(@NonNull ViewHolderDatos holder, int position) {

    holder.punto.setText(puntoNotaList.get(position).getPunto());
    holder.nota.setText(puntoNotaList.get(position).getNota());

    }

您可以在 if 语句中使用 setTextColor(),当值小于 4.0 时,您设置 Color.RED 否则 Color.BLUE 我认为在您的情况下。

在这个例子中我们改变了nota。

例子

...
if (Double.parseDouble(puntoNotaList.get(position).getNota()) < 4) {
    holder.nota.setTextColor(Color.RED);
} else {
    holder.nota.setTextColor(Color.BLUE);
}
...

AdapterDatos.java

public class AdapterDatos extends RecyclerView.Adapter<AdapterDatos.ViewHolderDatos>{

Context context;
ArrayList<PuntoNota> puntoNotaList;

public AdapterDatos(Context context, ArrayList<PuntoNota> puntoNotaList) {
    this.context = context;
    this.puntoNotaList = puntoNotaList;
}


@NonNull
@Override
public ViewHolderDatos onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

    View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list,parent,false);
    ViewHolderDatos viewHolder = new ViewHolderDatos(itemView);
    return viewHolder;
}

@Override
public void onBindViewHolder(@NonNull ViewHolderDatos holder, int position) {

    holder.punto.setText(puntoNotaList.get(position).getPunto());
    holder.nota.setText(puntoNotaList.get(position).getNota());


    if((position % 2) == 0)
        holder.itemView.setBackgroundColor(0xFFeceff1);

    else
        holder.itemView.setBackgroundColor(0xFFffffff);


    }

@Override
public int getItemCount() {
    return puntoNotaList.size();
}


public class ViewHolderDatos extends RecyclerView.ViewHolder {

    TextView punto, nota;

    public ViewHolderDatos(View item) {
        super(item);
        punto = item.findViewById(R.id.idPunto);
        nota = item.findViewById(R.id.idNota);
    }
}

}