Android:为以编程方式创建的TextView设置textcolor

W I*_*R D 5 android textview

我已经以TextView编程方式创建,现在我想将文本颜色设置为TextView以下是我的代码

TableLayout ll = (TableLayout) findViewById(R.id.auditContent);
public TableRow row;
TextView txtNumber;

for (int i = 0; i < ItemCount; i++) {
row = new TableRow(MainActivity.this);
TableRow.LayoutParams lp = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT);
                    row.setLayoutParams(lp);
                    row.setWeightSum(1f);
      txtNumber = new TextView(MainActivity.this);
      txtNumber.setGravity(Gravity.CENTER);
      txtNumber.setText("No." + count);
      txtNumber.setTextColor(getResources().getColor(R.color.blue)); //setting text color

 row.addView(txtNumber);

ll.addView(row, i);
    }
Run Code Online (Sandbox Code Playgroud)

textcolor不将颜色设置为TextView文本,男做错什么,我调试没有错误的代码.请帮助谢谢

在string.xml中我 <color name="blue">#33CCCC</color> 没有使用color.xml上面的颜色适用于xmlTextView

Piy*_*ush 12

根据您的xml文件,您需要更改

txtNumber.setTextColor(getResources().getColor(R.color.blue));
Run Code Online (Sandbox Code Playgroud)

txtNumber.setTextColor(getResources().getString(R.color.blue));
Run Code Online (Sandbox Code Playgroud)

您还可以在color.xml文件values夹和该用途中创建文件

<color name="mycolor">#33CCCC</color>
Run Code Online (Sandbox Code Playgroud)

现在只是用这种方式

txtNumber.setTextColor(getResources().getColor(R.color.mycolor));
Run Code Online (Sandbox Code Playgroud)


Par*_*ora 6

从Android支持库开始23

txtNumber.setTextColor(ContextCompat.getColor(context, R.color.your_color));
Run Code Online (Sandbox Code Playgroud)