onBackPressedイベントを消費する必要があるカスタムAndroidコンポーネントを作成しています(たとえば、カスタムViewGroup内にポップアップメニューが表示されている場合は、戻るボタンイベントが閉じて消費されます。それ以外の場合は無視されます)。それは可能ですか?ViewGroupサブクラス内からこのイベントをインターセプトできますか?
編集:Androidのドキュメントに示されているように、onKeyPreImeをオーバーライドしようとしました。メソッドは、ViewGroup内から呼び出されることはありません。
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event)
{
return true;
}
onKeyPreImeのドキュメントには、次のように記載されています。
ビュー階層に関連付けられた入力メソッドによって処理される前に、キーイベントを処理します。これは、IMEがキーイベントを消費する前に、特別な状況でキーイベントをインターセプトするために使用できます。典型的な例は、IMEがそれを認識してそれ自体を閉じるのではなく、BACKキーを処理してアプリケーションのUIを更新することです。