問題タブ [lwuit-list]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java-me - LWUIT リスト アイテムのカスタム エキスパンド コンポーネント
私のプロジェクトでは、カスタム レンダラーで lwuit List(main) を使用しています。
別のリスト (ラップ) を展開/折りたたむ、展開可能なリスト項目を実装する目的に従っています。
最初に、ボタンとリストを使用してコンテナーを作成しました (折りたたみ/展開動作なし)。しかし、メインリストで使用すると、ラップされたリストで項目を選択できないという問題に直面しました。
ですから、次の 2 つの問題を解決していただければ幸いです。
- 標準の lwuit ツールを使用して修正できますか?
- HeaderBar をクリックしてラップされたリストを非表示にするにはどうすればよいですか(可視性はコンテンツを非表示にするだけで、大きなギャップが残ります)
わかりやすくするための画像 (ListItem -メインリストの項目で、画像には表示されません):
java-me - ImageDownloadService での ContainerList の使用
ここでこのコードを参照していました。これで十分ですが、内容を 1 列ではなく 2 列で表示する必要があります。したがって、グリッド レイアウトで ContainerList を使用することを考えました。ここでの問題はboolean initListModel(List cmp)
、containerList に対して が呼び出されないことです。
また、ContainerList を動的に追加しようとしましたが、List の場合と同じように、ImageDownloadService で使用しているときに問題が発生しています。うまくやっていくためのサンプルコードを誰かが提供してくれたら素晴らしいと思います
java-me - 各アイテムの内容に応じてアイテムをレンダリングする LWUIT リストを作成する方法は?
Flight オブジェクトを表すアイテムで満たされた LWUIT List があります。各 Flight アイテムには、フライト番号、各レッグの出発時刻と到着時刻、およびチケットの価格が表示されます。
一部のフライトには 2 つのレッグ (ストップオーバー、航空機の変更、または航空会社の変更を含むフライトのセグメントを意味するレッグ) があるため、これらのフライト アイテムは、各レッグの出発時刻と到着時刻、および出発地のコードでレンダリングする必要があります。と各脚の目的地。
最初は脚が 1 つしかないアイテムは正常にレンダリングされますが、リストをスクロールして複数の脚を持つアイテムがレンダリングされ始めると、アイテムは情報がカットされて間違ってレンダリングされ、さらに悪いことに、すべての脚がレンダリングされます。リストのアイテムは、脚が 1 つしかないアイテムでも、この影響を受けます。
このスクリーンショットでは、複数のレッグを持つアイテムに到達する前に、リスト アイテムがどのように見えるかを確認できます。
次に、リストをスクロールして複数のレッグを持つアイテムに到達すると、すべてのアイテムがレンダリングされ、レッグ時間情報がカットされ、複数のレッグが情報の上に貼り付けられた最初のアイテムの時間情報が配置されます。
以下に、List Renderer クラスを示します。
他のプラットフォームでは、この問題は「ゴースト」と呼ばれていると思いますが、Nokia Asha の LWUIT でそれを回避する方法を見つけられませんでした。
すべてのアイテムをレンダリングするために同じレンダラーが使用されているため、これが問題の原因である可能性があることはわかっています。その場合、必要に応じて 1 つのアイテムを別の方法でレンダリングする方法が必要です。
アイテムの 1 つが異なる長さの情報を表示する必要がある場合に、リスト内のすべてのアイテムが変更されるのを防ぐにはどうすればよいですか?
編集
コードを更新しました。現在の Flight オブジェクトに複数の脚がない場合は、2 番目の脚のラベルを空の文字列で設定します。これにより、脚が 1 つしかないアイテムの問題が解決されます。
それで、質問のトピックを、複数の脚を持つフライトアイテムに残っている問題に変更します。アイテムのサイズが正しく変更されず、それぞれを内容に合わせて調整する方法が見つかりません。すべてがペイントされています同じサイズ。
アイテムの高さを正しく調整するにはどうすればよいですか?
編集2
if 節内でレンダラーの高さを変更しようとしました。ここでは、以下を使用して脚 (モデルではセグメントと呼ばれます) の数を確認しますthis.setHeight(800);
。
しかし、その方法ではまったく異なる高さのサイズを取得できませんでした。
それから私は使用しようとしましたがthis.preferredH(800);
、最終的にサイズが変わりました:
しかし、すべてのアイテムは 800 でレンダリングされています。これは、最後のフライトに複数の脚があるためだと思いますが、実際にはわかりません。複数の脚があるフライトの高さを大きく設定してから、にリセットすることを望んでいました高さが 1 つしかない場合は、より低い高さが機能しますが、高さがすべてのアイテムで同じに強制されているようです。誰かがこれを確認できますか?
lwuit-list - CodeName One についてのリスト
リストの使用に問題があり、リストのコンポーネントをクリックすると、別のフォーム (アクションを実行) に移動します。つまり、選択したインデックスに応じてリストの項目をクリックすると、別のフォーム。