2015-08-29 2 views
1

У меня есть два вида деятельности, назовем их Act1 и Act2. Act2 вызывается в Act1 с использованием функции startActivity(). И я вызываю overridePendingTransition (android.R.anim.slide_in_left, android.R.anim.slide_out_right) сразу после вызова метода startActivity(). Проблема: анимация выхода, которая является эффектом слайда в этом случае, не работает. Act2 только слайды, но Act1 не выдвигается.Android выполняет выход Анимация без завершения операции

Я думаю, причина, по которой Act1 не выдвигается, заключается в том, что она все еще находится в стеке активности. Если я назову финиш() сразу после startActivity(), анимация работает хорошо. Но если я нажму кнопку «Назад» в Act2, приложение перестанет возвращаться к Act1. Это не то, что я хочу. Есть ли способ выполнить анимацию выхода без вызова finish()?

ответ

0

Что делать, если вы закончите работу и вместо того, чтобы переходить назад, вы начинаете новое намерение действовать1? Вы могли бы переопределить и на заднем ударе, чтобы вы могли получить либо кнопку «Назад», либо кнопку «Назад».

+0

Но если я закончу и начну новое намерение действовать1, информация в act1 будет потеряна. Может быть, я могу сохранить информацию с помощью savedInstanceState или bundle. Но будет больше дополнительной работы, которую я должен сделать, если я ее использую. Есть ли более эффективный способ? В любом случае, спасибо:) –

+0

Вы можете просто передать данные, которые вам нужны, вперед через комплект обратно в действие 1. –

Смежные вопросы