2012-03-14 10 views
0

私はBlackBerry(OS 6.0+)のための私の最初のアプリケーションを作っている、私は下の画像のような画面を定義する必要があります。私はRichListについて読んだが、他のコンポーネントの下に追加することはできない。BlackBerryでこの種のリストをどのように達成できますか?

What I'm trying to achieve

私が欲しいのは広いButtonField下の部分(リスト)です。白いボックスにはイメージが含まれていて、その前にはテキストが含まれている必要があります。この「リスト項目」は動的に取り込まれます。

ご覧のとおり、これはRichListのレイアウトによく似ていますが、コンポーネントのメインコンテナとして使用しているVerticalFieldManagerには追加できないようです。

誰でもこの画面を手に入れることができれば、本当に感謝しています!前もって感謝します。

+0

'ListField'はどうしますか?この回答を確認することができます:http://stackoverflow.com/a/1881319/431639 – Rupak

+0

@Rupak私はそれをチェックアウト..しかし、それを行うの効率的な方法はありますか? ( 'このアプリケーションは多数の行を持つ可能性があります)。満足のいく答えが得られなかったら、それを解決するつもりです。 – Roshnal

+0

大きなリストの場合は効率はよくわかりませんが、行項目を含むカスタマイズされた 'VerticalFieldManager'を使うよりもはるかに効率的かつ効果的です。また、現在選択されている行情報を使用して、リストに新しい項目を追加し、リストから項目を動的に削除することもできます。だから私はこれがいくつかの動的なデータ消去/追加で使用できると思います。 – Rupak

答えて

2

ListFieldCallbackを実装し、すべてのメソッドを上書きする必要があります。ここに「drawListRow」メソッドが表示されます。あなたは左にイメージを描画し、このメソッドの上にテキストを書くとインデックスが賢明になります。 -

ListData ld = (ListData) rows.elementAt(index); 

      g.drawText(ld.name, 30+extraSpaceDelete, y 
      + (listItemHeight - g.getFont().getHeight())/2); 

    g.drawText(ld.address, 30+extraSpaceDelete, (y 
      + (listItemHeight - g.getFont().getHeight())/2)+(g.getFont().getAscent()+10)); 

    g.drawBitmap(0, y + listItemH - 3, Display.getWidth(), 3, 
      separator_line, 0, 0); 
+0

はRaviと全く同義です – rosco

+0

お返事ありがとうございます!今私はこれを行う方法を考えている.. :) – Roshnal

関連する問題