3
ブラックベリーキーボードのDeleteキーを検出して無効にしようとしています。何らかの理由でFieldサブクラスで「削除」キーを検出するにはどうすればよいですか?
、それは、その点に当たったときのように私のcase文の内側にそれを作ることはありません:
Keypad.key(keycode) == 8
Keypad.KEY_DELETE == 127
私のエラーは何ですか?
public class MyField extends ListField implements KeyListener {
// ...
/** Implementation of KeyListener.keyDown */
public boolean keyDown(int keycode, int time) {
boolean retval = false;
switch (Keypad.key(keycode)) {
/* DELETE - Delete the timer */
case Keypad.KEY_DELETE:
if (Keypad.status(keycode) == KeyListener.STATUS_SHIFT) {
_myDeleteCmd.run();
retval = true;
}
break;
default:
retval = super.keyDown(keycode, time);
}
return retval;
}
そこに、それを行った。質問に関連する値を追加しました。ねえ、私たちはそれにいる間、誰がイベントで最初に撃たれるの?システム - >アプリケーション - >画面 - >マネージャ - >フィールド? – MikeyB
Keypad.KEY_BACKSPACE = 8;それはあなたがチェックする必要がある値です。私は2つの違いは分かりませんが、しばしば一緒にケースに入れられます。 注文の100%ではありません。私はあなたが正しいと信じています。アプリケーションには、アクティブな画面にイベントをディスパッチするイベントディスパッチャがあり、画面のマネージャとフィールドにディスパッチします。しかし、私はその時点で注文については確信しています。私はそれが画面に追加された順番で各マネージャを通過し、各マネージャのフィールドについても同じであると推測します。 – Fostah
ああ...バックスペース、削除ではありません。ありがとう!ありがとう! – MikeyB