Blackberry: проблема с RichTextField - PullRequest
1 голос
/ 15 марта 2011

Я хочу добавить текст на экран.Так как этот текст меняет цвет в соответствии со словами, я решил использовать 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 голосов
/ 15 марта 2011

Ну, я думаю, что ваша проблема не в том, что у него синий фон, а в том, что он сфокусирован.Попробуйте переместить колесико, и вы увидите.Вы должны добавить Field.NON_FOCUSABLE к стилям RichTextField.Я уверен, что это решит вашу проблему.Как вы можете видеть здесь , вы должны сделать это, чтобы он не мог принять фокус.Я надеюсь, что это помогает

...