2010-11-23 19 views
8

ハードキーまたはソフトキーボードで確実にキー押下を検出できますか?EditTextのないソフトキーボードとキー押下の検出

私のアプリはWi-Fi経由で別のデバイスを遠隔操作するため、ソフトキーかハードキーのいずれかのキーを押すごとに検出する必要があります。私はEditTextが本当に必要なわけではありません。なぜなら、押されたときに一度に1つの文字を送信するだけで、最後のテキスト文字列は必要ないからです。

私はOnKeyPressでEditTextを使用しようとしましたが、ソフトキーボードでキーを押さないでhereという問題が発生しました。 TextWatcherは、それぞれのキーを押す必要があるため、良い選択肢ではありません。

もし私がしなければならないが、そうしたくないのであれば私はEditTextを使うだろう。私が本当にしたいことにある:ユーザーが

  • 検索ボタンを押した際にソフトキーボードを起動

    • ユーザーがキーを押すと、私は、リモートデバイスにコードを送信します。それは、リモートデバイス上に表示されますので、実際にユーザーが

    に任意の提案を、それを閉じるためにソフトキーボード上のボタンを完了カスタムを押す

  • のEditTextで画面に何も表示する必要はないのですか?

  • +1

    あなたはまだこれを行う方法を見つけましたか? –

    +0

    [この] [1]の記事を見てください。これは私のために働く。 SGS IIでテスト済み。 [1]:http://stackoverflow.com/questions/4579544/can-i-use-the-soft-keyboard-without-an-edittext/6954401#6954401 – miha

    答えて

    1

    さてあなたはオーバーライドすることができます[onKeyDown(int keyCode, KeyEvent event)] [1]および(または)[onKeyUp(int keyCode, KeyEvent event)] [2]アプリケーションのアクティビティクラスで メソッド、これはあなたもバックキーやその他のようなキーについての通知を取得できるようになりますハードウェアキー...

    注:トラックボールの動きについての通知を取得し、ように...

    することができます[1]:http://developer.android.com/reference/android/view/View.html#onKeyDown(int、android.view.KeyEvent) [2]:http://developer.android.com/reference/android/view/View.html#onKeyUp(int、android.view .KeyEvent)

    +1

    おかげで、これは」doesnのソフトなキーボードで動作するようです。私はonKeyDownをオーバーライドしており、文字や数字ではトリガされません。 –

    関連する問題