gpt4 book ai didi

java - 如何根据ListView中的String值设置TextColor?

转载 作者:行者123 更新时间:2023-12-01 17:50:16 25 4
gpt4 key购买 nike

我想根据字符串STATUS设置textview的文本颜色。

如果状态 = 红色,则文本应为红色;如果状态 = 绿色,则文本应为绿色。我尝试了很多解决方案,但仍然无法设置颜色...

这是我的代码:

适配器

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewItem viewItem = null;

if (convertView == null) {
viewItem = new ViewItem();
LayoutInflater layoutInfiater = (LayoutInflater) this.context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = layoutInfiater.inflate(R.layout.listview_items, null);
viewItem.tvDescription = (TextView) convertView.findViewById(R.id.tv_description);
viewItem.tvDate = (TextView) convertView.findViewById(R.id.tv_date);
viewItem.tvPoints = (TextView) convertView.findViewById(R.id.tv_points);
viewItem.tvStatus = (TextView) convertView.findViewById(R.id.tv_status);
TextView tvpkt = (TextView) convertView.findViewById(R.id.tv_points);
TextView tvstatus = (TextView) convertView.findViewById(R.id.tv_status);

String status = tvstatus.getText().toString();

if (status.equals("Red")) {
tvpkt.setTextColor(Color.RED);
} else if (status.equals("Green")) {
tvpkt.setTextColor(Color.GREEN);
}
convertView.setTag(viewItem);
} else {
viewItem = (ViewItem) convertView.getTag();
}


viewItem.tvDescription.setText(valueList.get(position).Description);
viewItem.tvDate.setText(valueList.get(position).Date);
viewItem.tvPoints.setText(valueList.get(position).Points);
viewItem.tvStatus.setText(valueList.get(position).Status);

return convertView;
}

最佳答案

我认为String status与稍后的if-statement中的条件不匹配。

跳过字符串区分大小写的一种方法是使用 equalsIgnoreCase它基本上比较两个字符串,忽略大小写。

类似这样的事情:

if(status.equalsIgnoreCase("Red")){
tvpkt.setTextColor(Color.RED);
}
else if(status.equalsIgnoreCase("Green")){
tvpkt.setTextColor(Color.GREEN);
}

另一种方法是在比较之前使用 toUpperCase()status 大写方法,类似这样:

String status = tvstatus.getText().toString().toUpperCase;

然后将其与大写版本的字符串进行比较:

if(status.equals("RED")){
tvpkt.setTextColor(Color.RED);
}
else if(status.equals("GREEN")){
tvpkt.setTextColor(Color.GREEN);
}

关于java - 如何根据ListView中的String值设置TextColor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50977467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com