2014-10-06 4 views
0

У меня есть эта деятельность структуры в моем андроида приложения (стрелка означает, что я кнопка, которая открывает следующую активность/фрагмент нажатием):Переключитесь назад кнопку поведение

активность А -> Фрагмент A -> Фрагмент B - > Активность B -> Фрагмент B

Я хочу, чтобы, когда я нажимаю кнопку «Назад» на последнем фрагменте B, он переходит в «Активность A» вместо «Активность B. Возможно ли это?

Он работает только тогда, когда я по этому пути на мое приложение: активность А -> Фрагмент A -> Фрагмент B

Как сделать это?

+0

Заканчивать андроида сайт разработчика - [собственно назад навигация] (http://developer.android.com/training/implementing-navigation/temporal.html) и [назад навигация для фрагментов] (HTTP://developer.android.com/training/implementing-navigation/temporal.html#back-fragments) – bwegs

ответ

0

Это действительно происходит в вашем текущем коде. Если вы находитесь на последнем фрагменте B (в действии B) и нажали назад, он вернет вас к Activity A, но с загруженным фрагментом B. Это состояние, с которого вы перешли, когда вы перешли на операцию B.

To решить эту проблему, вы можете использовать startActivityForResult и onActivityResult в деятельности А. и когда onActivityResult называется, скрыть Фрагмент B и показать фрагмент, A.

0

вы можете использовать finish() в своей деятельности, что вы не хотите, чтобы вернуться (finish() убивает активность) или реализует собственный метод, чтобы переопределить значение по умолчанию. Надеюсь это поможет.

@Override 
public void onBackPressed() { 
    // New code 
}