Кнопка Назад работает не так, как ожидалось с TabGroupActivity и ViewSwitcher

У меня есть некоторые странные эффекты в моем приложении для Android.

Я использую TabHoster с TabGroupActivities для каждой вкладки. Работает довольно хорошо, за исключением поведения кнопки "Назад".

Активность запускается и отвечает на кнопку Назад. Затем я запускаю дочернюю активность с помощью ViewSwitcher. Когда я нажимаю кнопку "Назад" в представлении, действие прекращается, как ожидалось. Но это проходит через onBackPressed() моей деятельности.

Когда я нажимаю кнопку "Назад" в представлении B (detailView==true), метод даже не вызывается. Вместо этого onBackPressed() из TabGroupActivity вызывается, и я не могу переключиться обратно на первый просмотр.

@Override
public void onBackPressed() {
    if (detailView == true){
        vf.showPrevious();
        detailView = false;
    }
    else {
        super.onBackPressed();
    }
return;
}

Кто-нибудь может объяснить это и / или сказать мне, как переключаться между представлениями в Activity в ActivityGroup?

1 ответ

Решение

Несколько дней спустя я пришел к выводу, что для моего случая это самое простое решение - выбросить вещи ViewSwitching и перенести их в отдельные действия.

Себастьян Олссон, безусловно, прав с фрагментами, но для моего конкретного приложения было бы больше усилий перестроить все в фрагменты.

Другие вопросы по тегам