Получить строку элемента списка для переноса вместо отображения многоточия

Я использовал приведенный ниже код, чтобы создать макет, который форматирует изображение, заголовок и текстовую область в элементе списка.
Я хотел бы, чтобы он выглядел как макет приложения Twitter — с точки зрения того, как он получает чирикать, чтобы завернуть, что я пропустил?

Сведения о платформе: BB OS 5.0+

Код:

protected void sublayout(int width, int height) {
    try {
        deleteAll();
    } catch (Exception ex) {

    }

    MyTitleField lblTitle = new MyTitleField(info.title);//extends LabelField
    LabelField lblDesc = new LabelField(info.description , LabelField.ELLIPSIS)
    {
        protected void layout(int width, int height) {
            // TODO Auto-generated method stub
            super.layout(width, height);
        }
    };

    BitmapField bmfIcon = new BitmapField(info.icon);
    add(lblTitle);
    add(lblDesc);
    add(bmfIcon);

    int iconHeight = bmfIcon.getBitmapHeight();
    int fontHeight = Font.getDefault().getHeight();
    int preferredWidth = width;//getPreferredWidth();

    int startY = (rowHeight - iconHeight)/2;
    layoutChild(bmfIcon, bmfIcon.getBitmapWidth(), bmfIcon.getBitmapHeight());
    setPositionChild(bmfIcon, 5, startY);

    int textWidth  = preferredWidth - (bmfIcon.getBitmapWidth() +10 );
    int textStartX = bmfIcon.getBitmapWidth() + 10;
    layoutChild(lblTitle, textWidth  ,
            fontHeight + 1);
    setPositionChild(lblTitle, textStartX, startY);

    int descHeight = rowHeight - (startY+fontHeight+2);
    layoutChild(lblDesc, textWidth  , descHeight);

    setPositionChild(lblDesc, textStartX, (startY+fontHeight+2));

    setExtent(preferredWidth, getPreferredHeight());
}

Мой код производит

Желаемый эффект


person Irwin    schedule 03.10.2011    source источник
comment
Вы не можете избавиться от стиля ELLIPSIS здесь: LabelField lblDesc = new LabelField(info.description)   -  person icchanobot    schedule 04.10.2011
comment
Да, я могу, но он просто убегает и не заворачивается.   -  person Irwin    schedule 04.10.2011
comment
Можете ли вы сказать мне, какую версию JDE мне нужно загрузить для разработки blakberry-os5? не могу найти в гугле   -  person Viswa    schedule 13.12.2013


Ответы (1)


  1. Во-первых, вам нужно избавиться от стиля ELLIPSIS, как предложил icchanobot.
  2. Затем вам нужно добавить поле метки внутри VerticalFieldManager (HorizontalFieldManager тоже будет работать), как это предлагается в этом ответе.

Следующий фрагмент кода

String longString = "This is a LabelField inside a VerticalFieldManager. Here is a link to your question https://stackoverflow.com/questions/7641753/get-list-item-row-to-wrap-instead-of-show-ellipsis";

VerticalFieldManager vfm = new VerticalFieldManager(Manager.USE_ALL_WIDTH | Manager.NO_HORIZONTAL_SCROLL);
vfm.add(new LabelField(longString));
add(vfm);


производит

введите здесь описание изображения

person tonymontana    schedule 22.02.2012