2011-05-20 2 views
0

J'utilise le didacticiel BlackBerry Knowledge Center "How To Format RichTextField" pour définir un format pour mon RichTextField.BlackBerry RichTextFormatting

j'ai rencontré quelques difficultés lors du formatage du texte comme:

AI se promenait dans la rue B tout à coup, je vis un chien

voler Si je veux seulement en gras les lettres A & besoin BI avoir leurs index et leur longueur.

J'ai créé 2 tableaux, l'un gère les index des lettres dans le texte entier et le second tableau gère la longueur de chaque index de lettre, par exemple: A (longueur 1), WC (longueur 2).

J'ai essayé de le lancer dans une boucle, mais il ne fonctionne pas:

Font fonts[] = new Font[2]; 
    int[] offset = new int[3]; 
    byte[] attribute = new byte[3]; 

    //Get three instances of the default font. 
    //On plain, one bold and one bold and italic. 
    fonts[0] = Font.getDefault(); 
    fonts[1] = Font.getDefault().derive(Font.BOLD); 

    for (int i = 0; i<lettersLength; i++) { 
     offset[0] = letterIndexes[i]; //handles the indexes of the letters in the entire text 
     attribute[0] = 1; 
     offset[1] = letterLength[i]; //handles each letter index 
    } 
+1

Pouvez-vous s'il vous plaît fournir comment/où vous initalized lettersLength et lettersIndexes? Aussi, quel résultat attendez-vous et obtenez-vous? Merci. – Swati

+0

Je travaille avec une base de données de lettres et de textes affectés à chaque lettre J'ai ajouté une lettre à une chaîne de texte principale, enregistré sa longueur et son index en fonction du texte entier puis j'ai ajouté le texte associé à la lettre spécifique. Je veux ajouter le texte de la chaîne principale (qui gère les lettres et le texte associé à chaque lettre) à un RichTextField et à mettre en gras seulement les index de lettres – jkigel

+0

Quelqu'un ????????? – jkigel

Répondre

0
offsets[0] = 0; // index of A, first character 
attribute[0] = 1; // Choose the bold font starting at offsets[0] 
offsets[1] = 1; // 1 past the desired bold 
attributes[1] = 0; // assign the regular font starting at offset[1] 
offsets[2] = index of 'B'; 
attributes[2] = 1; // set the style to the bold font for this 
offsets[3] = index of 'B' + 1; // the new non bold segment starts just after the B 
attributes[3] = 0; // set the style to normal 

Désolé code ne plus agréable, mais espère que cela aide.