我有一个包含TextView的RecyclerView。持有人代码如下:
private class PhotoHolder extends RecyclerView.ViewHolder {
private TextView mTitleTextView;
public PhotoHolder(View itemView) {
super(itemView);
mTitleTextView = (TextView) itemView;
}
public void bindGalleryItem(GalleryItem item) {
mTitleTextView.setText(item.toString());
//--------------TEST CODE----------------
mTitleTextView.setBackgroundColor(2);
mTitleTextView.invalidate();
mTitleTextView.requestLayout();
}
}
现在,行mTitleTextView.setText()
按预期工作,但我还想更改TextView
的背景。因此,我尝试调用setBackgroundColor()
方法,但即使调用invalidate和requestLayout也不会设置任何背景颜色。
有谁知道确保设置背景颜色的方法?这是设置颜色的正确位置吗?为什么不设置?
另外,我想以编程方式执行此操作。
答案 0 :(得分:0)
你可以删除它:
mTitleTextView.invalidate();
mTitleTextView.requestLayout();
并确保您从正确的位置调用此方法,即没有其他人在其后重置textView的属性。
答案 1 :(得分:0)
使用颜色资源设置背景颜色
Call objCRS_DataAccesslayer.TAXREPORT(vOperation:="GET UNAPPROVED DATA", vSubOperation:="SELECT UNAPPROVED DATA TC", VOutPut:=dt, objType:="SELECT")
答案 2 :(得分:0)
使用那样:
mTitleTextView.setTextColor(getResources()的getColor(R.color.solid_red));
答案 3 :(得分:0)
应该是
mTitleTextView.setBackgroundColor(getResources().getColor(R.color.colorOne));
或设置文字颜色,您可以使用下面的
mTitleTextView.setTextColor(getResources().getColor(R.color.colorTwo));
在colors.xml中定义您的特定颜色
<color name="colorOne">#E60000</color>
<color name="colorTwo">#D3D3D3</color>
颜色代码是不同开发活动的标准。 Android框架应该了解您计划设置为视图的参数值。 Reference Link for Graphics color code
您可以使用与this类似的软件来查找颜色代码