Отменить кнопку возврата Android

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

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


person ryandlf    schedule 26.09.2011    source источник
comment
stackoverflow.com/q/2459848/632951   -  person Pacerier    schedule 18.11.2014


Ответы (2)


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

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

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

person James Lim    schedule 26.09.2011
comment
Я согласен с тем, что не хочу нарушать UX. Подумав еще немного, хотя это было бы удобно и даже имело смысл в моей ситуации. Мне нужно будет придумать другой метод движения вперед и назад. - person ryandlf; 26.09.2011

Я считаю, что у вас должно получиться что-то вроде этого:

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

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

person Tyler Treat    schedule 26.09.2011
comment
Думаю, это хороший способ реализовать навигацию. Пока визуальный подход прозрачен для пользователя, и пользователь может активировать поведение по умолчанию - щелчок назад, когда он достигает начала навигации (возможно, двойным щелчком - если пользователь нажимает на медленно, вы могли бы показать тост) - person Knickedi; 26.09.2011