アンドロイドアプリケーションでは、アクティブになっているAndroidアプリケーションが、処理されるはずの実際のビューに配信される前に、すべてのキーイベントを捕捉して処理しますそれ?Androidアプリケーションのデフォルトのキーイベントハンドラ
私は、keyeventを処理するために、onKeyDownまたは同様のメソッドをActivityに含めることができますが、子ビューのいずれも内部で処理しない場合にのみ起動されることがわかります。 これらのビューは、通常、ListView、GridView、ScrollViewなどです。
keyEventがこれらのビューに配信される前にkeyHandlerメソッドが呼び出される方法を探したいと思います。
私のkeyHandlerでの実装は非常に簡単です。キーストーントーンのように、各イベントごとにトーンを再生し、そのビューやAndroidフレームワークが意図したとおりに処理されるように転送します。
私はたくさんのアクティビティとたくさんのビューを持っているので、onKeyListenerを各アクティビティの各ビューに書きたくないので、どこでも同じコードを書くのが難しくなります。方法がある場合は、BaseActivityでそれを実装して、それを使ってすべてのアクティビティを導き出し、デフォルトのキーハンドラを持って行くことができます。
正確に私が必要としたもの。ありがとう:)私は実際にKeyEventのためにそれを必要としました。それを派生させ、ウィジェットがそれを手に入れる前にイベントを取得しています。 – Puneet