android:Adapter中設置textview字體顏色

這樣在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);

還有更多的情況以後再總結;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章