Исходный код доступен здесь: https://github.com/novemberox/NavigationTest Измененная версия этого примера: http://developer.android.com/training/implementing-navigation/ancestral.html
У меня есть три действия:
-
Main Activity
только основная запись в приложение -
Category Activity
Это родительский элемент для подробной операции -
Detail Activity
Main Activity
имеет кнопку, которая открывает Category Activity
и Detail Activity
.
Category Activty
имеет только одну кнопку, которая открывает Detail Activity
.
И, наконец, Detail Activity
, который показывает некоторый текст и имеет кнопку "вверх" , которая имитирует щелчок на ActionBar вверх.
Мой путь к клику:
- открыть Главная Деятельность
- открыть подробное описание
- нажмите кнопку "вверх"
- Категория должна появиться
- обратный клик переводит нас на главную активность с восстановленным государством.
И это поток, который будет ожидаться, и он отлично работает на всех Android до Jelly Bean (протестирован на Galaxy Nexus 4.1.1 и эмуляторе 4.2 Google exp pack). Он работает даже на ICS. Я использую поддержку lib и классы, такие как NavUtils и TaskStackBuilder, как в примере, который я указал на начало.
На JB, когда я нажимаю кнопку "вверх" , он возвращается к главной операции с правильным восстановлением состояния. Я просмотрел исходный код библиотеки поддержки, и я увидел, что метод NavUtils.navigateUpTo
вызывает собственный JB-код, например Activity#navigateUpTo
. Я пробовал как NavUtils#navigateUpTo()
, так и NavUtils.navigateUpFromSameTask()
с тем же неудовлетворительным результатом.
Есть ли у вас какое-то предположение, что делать, чтобы иметь этот хороший поток?