Переопределить кнопку возврата Android - PullRequest
7 голосов
/ 26 сентября 2011

Небольшая информация о том, почему я пытаюсь это сделать: я использую ActivityGroups, чтобы открыть действие из действия tabHost и оставить это новое действие на вкладках.Эта часть у меня есть.Но когда в этом новом упражнении я использую кнопку «Назад», это сразу выводит меня из действия со вкладками, поэтому мне приходится нажимать несколько раз, чтобы вернуться туда, где я был.

Есть ли способ настроить кнопку "Назад", чтобы перейти к определенному занятию, а не убивать окно текущего занятия?

Ответы [ 2 ]

7 голосов
/ 26 сентября 2011

Полагаю, вы должны быть в состоянии сделать что-то вроде этого:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
        // start new Activity here
    }
    return super.onKeyDown(keyCode, event);
}

Но переопределение ожидаемой функциональности кнопки возврата не рекомендуется.

5 голосов
/ 26 сентября 2011

В общем, я бы советовал против этого, потому что это нарушает UX.Пользователь ожидает, что кнопка «Назад» уничтожит все окно, тем более что вы используете tabhost.Для пользователя вся группа (вкладки и все) - это отдельное действие, которое он хочет завершить, когда нажимает кнопку возврата.

Если вы все еще хотите это сделать, обратитесь к # onBackPressed () .Он вызывается, когда активность обнаружила нажатие пользователем клавиши «назад».По умолчанию задание заканчивается, но вы можете сделать так, как хотите.Я советую осторожность и осторожность.

Вы можете найти вдохновение от здесь .

...