我需要调整出现在我的回收器视图行内的字符串的颜色,当它等于某个字符串时,例如在这种情况下“万圣节岁月”,这是我的代码,它不起作用,我确信setColor语句运行良好,因为当我使用if子句时,它会使所有标题字符串变为红色。
//THE TEXT
listRowViewHolder.title.setText(Html.fromHtml(listItems.getTitle()));
//IF THE TEXT IS EQUAL TO Halloween over the ages, CHANGE THE COLOR OF THE TITLE TO RED
if (listRowViewHolder.title.getText().equals("Halloween over the ages")){
listRowViewHolder.title.setTextColor(Color.RED);
}
答案 0 :(得分:0)
您首先将文本转换为HTML,然后提取该值并进行比较。
你应该考虑的一个改变,
if ("Halloween over the ages".equals(listItems.getTitle())) {
listRowViewHolder.title.setTextColor(Color.RED);
}
答案 1 :(得分:0)
听起来文字永远不会相等。尝试将两个字符串打印到日志以验证它们是否真的相同 - 不要忘记前导或尾随空格会使字符串不相等,因为不同的情况(“hello”不等于“Hello”)。如果它们看起来仍然相同,请尝试同时打印hashCode()
。
顺便说一句,不要忘记重置所有其他视图的颜色 - 当您使用列表的convertView
参数时,您可能会获得可能已被设置为红色较早。