Blackberry:RichTextField的问题

时间:2011-03-15 15:37:04

标签: java blackberry richtext

我想在屏幕上添加一些文字。由于此文本根据我决定使用RichTextField的单词更改颜色。 这是我的代码:

String productName = product.getProductName()+": ";
String price = String.valueOf(product.getPrice());
Font[] fonts = new Font[2];
fonts[0] = Font.getDefault().derive(Font.PLAIN, 12);
fonts[1] = fonts[0].derive(Font.BOLD);
byte[] attribs = new byte[] {0, 1};
int[] offsets = new int[] {0, productName.length(), productName.length() + price.length()};
int[] fontColors = new int[] {Color.BLACK, Color.GREEN};
int[] backColors = new int[] {Color.WHITE, Color.WHITE};
RichTextField labelPrice = new RichTextField(productName + price, offsets, attribs, fonts, Field.FIELD_LEFT|FIELD_VCENTER);
labelPrice.setAttributes(fontColors, backColors);

我可以添加文字,但背景没有问题。我的product的第一个字母有蓝色背景,我没有在任何其他地方添加任何蓝色,即使我是,我希望它会被backColors覆盖。有谁知道为什么会这样?

提前致谢!


编辑:我只是在这里修改raukodraug为像我这样的新手指出的代码

RichTextField labelPrice = new RichTextField(productName + price, offsets, attribs, fonts, Field.FIELD_LEFT|FIELD_VCENTER|Field.NON_FOCUSABLE);

1 个答案:

答案 0 :(得分:0)

嗯,我认为你的问题不在于它有蓝色背景,而是它的重点。尝试移动拨轮,你会看到。 您应该将Field.NON_FOCUSABLE添加到RichTextField样式中。我很确定这会解决你的问题。 正如您所见here,您应该这样做,因此无法接受焦点。 我希望这有帮助