2016-10-01 47 views
2

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

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

将焦点设置到文本框中的文字应该会消失,颜色应该再是黑色后。该代码是在文本域的focusGained执行()方法:

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

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

适合我的任何解决方案?

回答

1

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

或者您可以使用getAllStyles()通过一次调用来设置它们。