android:Adapter中设置textview字体颜色

时间:2023-02-01 21:18:01

这样在adpater里面设置是有效果的,设置子布局中TextView文本框的字体颜色:

holder.tv_1.setTextColor(Color.parseColor("#FF0000"));(可以)

context.getResources().getColor(R.color.black);(也可以)

但是其他的方式有些是不行的。

1.在adapter中改变字体颜色时不需要setTag;

//holder.tv_1.setTag(position);
//holder.tv_2.setTag(position);
//holder.tv_3.setTag(position);
//holder.tv_4.setTag(position);
//holder.tv_5.setTag(position);

2.这样的修改TextView文字的颜色的方法修改之后也不起作用。

if ( nowTime - wjTime2 > 3 * 24 * 60 * 60 * 1000 + 1) {// 三天之前的变红色

holder.tv_1.setTextColor(R.color.red);
holder.tv_2.setTextColor(R.color.red);
holder.tv_3.setTextColor(R.color.red);
holder.tv_4.setTextColor(R.color.red);
holder.tv_5.setTextColor(R.color.red);
} else {
holder.tv_1.setTextColor(R.color.qianbandaiban);
holder.tv_2.setTextColor(R.color.qianbandaiban);
holder.tv_3.setTextColor(R.color.qianbandaiban);
holder.tv_4.setTextColor(R.color.qianbandaiban);
holder.tv_5.setTextColor(R.color.qianbandaiban);
}

3.这样的修改TextView文字的颜色的方法修改之后有用。

if ( nowTime - wjTime2 > 3 * 24 * 60 * 60 * 1000 + 1) {// 三天之前的变红色
holder.tv_1.setTextColor(Color.parseColor("#FF0000"));
holder.tv_2.setTextColor(Color.parseColor("#FF0000"));
holder.tv_3.setTextColor(Color.parseColor("#FF0000"));
holder.tv_4.setTextColor(Color.parseColor("#FF0000"));
holder.tv_5.setTextColor(Color.parseColor("#FF0000"));
} else {
holder.tv_1.setTextColor(Color.parseColor("#0000FF"));
holder.tv_2.setTextColor(Color.parseColor("#0000FF"));
holder.tv_3.setTextColor(Color.parseColor("#0000FF"));
holder.tv_4.setTextColor(Color.parseColor("#0000FF"));
holder.tv_5.setTextColor(Color.parseColor("#0000FF"));
}

4.这也是可以设置的

context.getResources().getColor(R.color.black);

5.备注:但是背景图片的修改是有效果的:

holder.icon_image.setBackgroundResource(R.drawable.wb_2);

还有更多的情况以后再总结;