无法在RecyclerView中设置TextView背景颜色

时间:2016-08-17 09:36:10

标签: android textview

我有一个包含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也不会设置任何背景颜色。

有谁知道确保设置背景颜色的方法?这是设置颜色的正确位置吗?为什么不设置?

另外,我想以编程方式执行此操作。

4 个答案:

答案 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类似的软件来查找颜色代码