2

状況依存のコマンド リストを作成しようとしています。すべてのコマンド ボタンに command.ITEM オプションを設定しました。しかし、次の機能を提供する方法が見つかりませんでした。

A、B、C という値のリストがあります A の場合、コマンド メニューには 2,4 が含まれている必要があります 選択 (カーソル) を B に移動すると、コマンド メニューには 1,3 が含まれている必要があります C に移動すると、コマンドは次のようになりますhave 2,1 再び A に戻ると、A のコマンド メニュー (2,4) が表示されます。

ファイルとディレクトリのリストに使用できます。

ファイルが選択されたときに、開く、編集する、削除するオプション (コマンド) を表示したい。ディレクトリを選択すると、開いて削除するだけのコマンドを表示したい。

正しい方向を指し示してくれてありがとう。

4

1 に答える 1

1

クラスの仕様javax.microedition.lcdui.Form(あなたが使用しているものだと思います)は次のように述べています:

「これらのトラバースおよびスクロール操作は、アプリケーションに表示されるイベントを引き起こしません」

コマンド メニューが表示される前に呼び出されるメソッドもありません。

これはすべて、フォームを使用してここでやりたいことができないことを意味します。

対象となる特定の電話の J2ME 実装によってはjavax.microedition.lcdui.CustomItem.getInteractionModes()、フォームで単一の CustomItem を使用して状況依存のメニューを作成できるかどうかがわかります。

すべての電話でこれを行う唯一の確実な方法は、 を使用し、javax.microedition.lcdui.Canvas必要なコントロールを自分で描画して再実装することです。次に、どれが「選択」されているかを追跡し、低レベルのkeyPressed()イベントに応答して表示する前に、独自のコマンド メニューを設定できます。

LWUIT中間ソリューションについては、オープン ソース ライブラリを調べることをお勧めします。

于 2009-04-28T11:06:38.040 に答える