Question

Est-il possible de personnaliser Objectfieldlist selon la conception suivante?

         ----------------------------
ROW#1    ROW NAME
         row details
         ---------------------------
ROW#2    ROW NAME
         row details
         ---------------------------  
ROW#3    ROW NAME
         row details
         ---------------------------

Nom de la ligne sera en plus la police que les détails de ligne

Fondamentalement, je besoin de 2 lignes de texte dans une rangée de ObjectListField. ** ou toute autre méthode ou suggestion que je peux me tromper, ** merci de me guider son urgent et je suis un peu ce nouveau Blackberry développement.

Était-ce utile?

La solution

ObjectListField est pas vraiment la bonne façon de le faire -. Il est vraiment conçu comme une version rapide de ListField pour les moments où vous avez juste besoin d'une simple liste de chaînes

Vous devez étendre lui-même ListField et fournir votre propre implémentation de ListFieldCallback qui rend votre liste en fonction de votre modèle de données. Utilisez ListField.setCallback pour définir votre rappel.

ListFieldCallback.drawListRow vous donne un contexte de Graphics, de sorte que vous pouvez dessiner tout ce que vous voulez, y compris plusieurs lignes de texte. Assurez-vous également appel ListField.setRowHeight sur votre ListField pour faire les lignes assez haut pour 2 lignes de texte (la hauteur par défaut est la hauteur de la police, de sorte que vous ne souhaitez avoir de la place pour 1 ligne de texte).

Exemple de code est quelque chose comme (ce n'est pas complète et ne compilera pas sans autre code):

ListField myListField = new ListField();
myListField.setRowHeight(getFont().getHeight() * 2)

myListField.setCallback(new ListFieldCallback() {
    public void drawListRow(ListField listField, Graphics graphics, int index, int y, int width) {
       // draw the first line of text
       graphics.drawText(0, y, "ROW " + rowNumber);
       graphics.drawText(20, y, "ROW NAME");
       graphics.drawText(20, y + getFont().getHeight(), "row details"); 
    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top