1

SurfaceView で描画しているときに、「戻る」キーの押下をインターセプトする際に問題が発生します。私の onKeyDown イベントは、2 番目以降のキー イベントでのみ呼び出されるようです。これは、アクティビティが既に一時停止または終了しているため、戻るキーには役に立ちません。

focusable と touchmodefocusable が設定されていることを確認し、 onkeydown ハンドラーをビューからアクティビティに移動するなど、遭遇したすべての提案を試しました。エミュレーターでもハードウェアでも同じように動作します。

これはフォーカスと関係があることはわかっていますが、サーフェスビューにキー イベントとタッチ イベントのフォーカスを同時に受け取ることができないようです。

なぜ他の誰もこの問題を抱えていないのか理解できないので、私がこれに真剣に悩まされているのを助けてください.

ありがとう。

4

1 に答える 1

1

これを解決しました - setFocusable(true) フラグを設定する前に requestFocus() 呼び出しを使用すると、何らかの理由でうまくいきました。whodathunkit。ところで、これはサーフェス ビュー コンストラクターで行われます。

他の人に役立つ場合に備えて、これを回答にコピーしました。

于 2011-08-12T19:59:50.950 に答える