Frage

Ist es möglich, Objectfieldlist nach folgendem Design anpassen?

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

Row Namen in größerer Schrift als Zeile Details werden

Im Grunde brauche ich zwei Textzeilen in einer Reihe von Object. ** oder eine andere Methode oder einem Vorschlag, wie ich könnte falsch sein, ** pls leitet mir seine dringenden und ist, was einig neue Blackberry-Entwicklung.

War es hilfreich?

Lösung

ObjectListField ist nicht wirklich der richtige Weg, dies zu tun -. Es wirklich als eine schnelle Version von ListField für jene Zeiten entworfen ist, wenn man nur eine einfache Liste von Strings benötigt

Sie sollten erweitern sich ListField und eine eigene Implementierung von ListFieldCallback, die Ihre Liste auf der Grundlage Ihrer Datenmodell macht. Verwenden ListField.setCallback Ihren Rückruf zu setzen.

ListFieldCallback.drawListRow gibt Ihnen einen Graphics Kontext, so können Sie zeichnen, was Sie wollen, darunter mehrere Textzeilen. Achten Sie auch auf Anruf ListField.setRowHeight auf Listfield die Reihen hoch genug für zwei Zeilen Text (die Standardhöhe ist die Schrifthöhe, so dass Sie nur Platz für 1 Textzeile haben würden) zu machen.

Beispielcode ist wie etwas (dies ist nicht vollständig und wird ohne einen anderen Code nicht kompilieren):

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"); 
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top