因此,我有了此代码(已更新以获取解决方案).
@Override
public View getView(int position, View convertView, ViewGroup parent) {
...
final Direction d = directions.get(position);
if (d != null) {
TextView direction = (TextView) row.getTag(R.id.directionTextView);
TextView departure1 = (TextView) row.getTag(R.id.departure1);
TextView departure2 = (TextView) row.getTag(R.id.departure2);
TextView departure3 = (TextView) row.getTag(R.id.departure3);
direction.setText(d.getName());
if (d.getTimeStamps().size() == 0) {
departure1.setText(R.string.nodepartures);
departure1.setTextColor(R.color.grey);
} else {
for (int i = 0; i < d.getTimeStamps().size(); i++) {
switch (i) {
case 0:
departure1.setText(d.getTimeStamps().get(i));
break;
case 1:
departure2.setText(d.getTimeStamps().get(i));
break;
case 2:
departure3.setText(d.getTimeStamps().get(i));
break;
default:
break;
}
}
}
}
return row;
}
}
我遇到的问题是,当TextViews不应显示时,它会变成灰色.我尝试通过始终将文本再次设置为黑色来修复它,但这使其中的每一个变为灰色.直到我尝试:
setTextColor(context.getResources().getColor(R.color.black));
而不只是
setTextColor(R.color.black);
不知道为什么在设置文本灰色时后者起作用,但是确实如此.我想我只是有点弱智. ?