1

画面にテキストを追加したい。このテキストは単語に応じて色が変わるので、を使用することにしました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);
4

1 に答える 1

0

さて、あなたの問題は背景が青いことではなく、焦点が合っていることだと思います。トラックホイールを動かしてみてください。スタイルに追加する必要Field.NON_FOCUSABLEがあります。RichTextFieldそれがあなたの問題を解決すると確信しています。ここでわかるように、これを行う必要があるため、フォーカスを受け入れることができません。これが役立つことを願っています

于 2011-03-15T15:48:03.050 に答える