Дочерняя активность из ActivityGroup просто «иногда» вызывает onBackPressed () - PullRequest
1 голос
/ 02 января 2012

У меня есть ActivityGroup с несколькими дочерними мероприятиями.

Недавно я обнаружил, что метод onBackPressed не всегда вызывается для дочерних Activity, но в родительском Activity (activityGroup).

После некоторого тестирования я обнаружил, что onBackPressed вызывается только для детей, когда у них есть сфокусированный EditText. Если EditText не сфокусирован или если отсутствует EditText (даже если есть другие элементы управления, такие как кнопки или флажки), он все равно не будет вызван.

Если ребенок получает этот вызов, то родитель не получает.

Кто-нибудь знает, почему меняется поведение Деятельности? Есть ли какой-нибудь метод, который я могу выполнить на дочернем Activity, чтобы он всегда получал этот фокус и получал предпочтение onBackPressed метода?

Ответы [ 2 ]

1 голос
/ 05 марта 2012

Что ж, самой простой реализацией было создание метода, который вызывался либо parent-> currentChild, либо потомком при нажатии кнопки назад.

0 голосов
/ 02 января 2012

Новый год желает вам тоже хтафоя .... убедитесь, что вы определили функцию onBackPressed вне функции onCreate.Много раз случается, что вы объявляете onBackPressed внутри цикла функции onCreate.

...