1

私はActivityGroupいくつかの子アクティビティを持っています。

最近、onBackPressedメソッドが常に子アクティビティで呼び出されるのではなく、親アクティビティ (アクティビティ グループ) で呼び出されることがわかりました。

いくつかのテストの後onBackPressed、フォーカスされた EditText がある場合にのみ子に対して呼び出されることがわかりました。EditText がフォーカスされていない場合、または EditText がない場合 (ボタンやチェックボックスなどの他のコントロールがある場合でも)、最終的には呼び出されません。

子がこの呼び出しを受け取ると、親は受け取りません。

アクティビティの動作が変わる理由を知っている人はいますか? 子アクティビティで実行できるメソッドがあり、常にこのフォーカスを取得してonBackPressedメソッド設定を取得できますか?

4

2 に答える 2

1

最も簡単な実装は、戻るボタンが押されたときに、parent->currentChild または子によって呼び出されるメソッドを作成することでした。

于 2012-03-05T17:36:26.060 に答える
0

新年もよろしくお願いします htafoya .... onCreate 関数の外で onBackPressed 関数を定義していることを確認してください。多くの場合、onCreate 関数のループ内で onBackPressed を宣言しています。

于 2012-01-02T06:29:36.800 に答える