我是代号“ 1”的新手,并尝试设置TextView的前景色(文本)。将其设置为红色并在按下按钮后写文本即可。该代码在按钮的动作侦听器方法中执行:

mValueField.getStyle().setFgColor(0xFF0000); // set red color
mValueField.setText("Fill in!"); // write info text


将焦点设置到字段中后,文本应消失,颜色应再次变为黑色。该代码在TextField的focusGained()方法中执行:

mValueField.setText(""); // clear info text
mValueField.getStyle().setFgColor(0x000000); // set black color


问题是文本消失了,但是新字符仍然是红色而不是黑色。

有什么解决办法吗?

最佳答案

不要使用getStyle(),它是为在paint()或类似方法中使用而设计的。由于组件具有多个状态,因此您需要自定义每个单独的状态,例如getUnselectedStyle()getSelectedStyle()

或者,您可以使用getAllStyles()一次调用将它们全部设置。

08-07 18:51