调用setTextColor后,TextView中的文本不会显示

7 浏览
0 Comments

调用setTextColor后,TextView中的文本不会显示

我有一个自定义的游标适配器,我试图设置一行视图中文本框的颜色:

 txtChange.setTextColor(0xE01B4C);
 txtChange.setText("嗨,我是一些文本!");

如果我移除setTextColor的调用,文本会按预期显示。我错过了什么?

0
0 Comments

问题的出现的原因是在调用setTextColor方法后,文本不会显示在TextView中。这可能是因为setTextColor方法中传入的颜色值不正确,导致文本无法显示。

解决方法是将颜色值定义在color.xml文件中,并通过资源ID的方式访问。首先,在color.xml文件中定义颜色值:

#E01B4C

然后,在代码中使用getResource方法获取颜色资源,并将其传递给setTextColor方法:

txtChange.setTextColor(getResources().getColor(R.color.demo_color));

另外一种解决方法是直接在XML布局文件中指定文本颜色:

android:textColor="#E01B4C"

这样也可以设置文本颜色。

需要注意的是,getResources方法是一个方法,因此需要在其后添加括号。如果不添加括号,将无法正确获取资源。可以参考这个问题:stackoverflow.com/questions/6177273/…

0