更改 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);
}
}
}
我想改变第二列的文字颜色,所有小于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);
}
}
}