Я хочу сделать что-то простое на Android-приложение. Как можно вернуться к предыдущему занятию?
Какой код мне нужен, чтобы вернуться к предыдущему действию
Я хочу сделать что-то простое на Android-приложение. Как можно вернуться к предыдущему занятию?
Какой код мне нужен, чтобы вернуться к предыдущему действию
Ответы:
Действия Android хранятся в стеке действий. Возвращение к предыдущему занятию может означать две вещи.
Вы открыли новое действие из другого действия с помощью startActivityForResult . В этом случае вы можете просто вызвать функцию finishActivity () из своего кода, и она вернет вас к предыдущему действию.
Следите за стеком активности. Всякий раз, когда вы начинаете новое действие с намерением, вы можете указать флаг намерения, например
FLAG_ACTIVITY_REORDER_TO_FRONT
илиFLAG_ACTIVITY_PREVIOUS_IS_TOP
. Вы можете использовать это для перемещения между действиями в вашем приложении. Я не использовал их много, хотя. Посмотрите на флаги здесь: http://developer.android.com/reference/android/content/Intent.htmlКак упомянуто в комментариях, если действие открывается,
startActivity()
то можно закрыть егоfinish()
. Если вы хотите использовать кнопку «Вверх», вы можете поймать это вonOptionsSelected(MenuItem item)
методе, сравнив идентификатор элемента вandroid.R.id.home
отличие отR.id.home
упомянутого в комментариях.источник
Попробуй
Activity#finish()
. Это более или менее то, что кнопка «Назад» делает по умолчанию.источник
this.finish();
#
индикатор, которыйfinish()
является нестатическим методом класса Activity. Это недопустимая Java, но она помогает объяснить, как можно использовать метод..
, то есть:Activity.someStaticMethod()
Просто напишите по нажатию финиша () . Это приведет вас к предыдущей активности.
источник
Просто это
источник
Это приведет вас к предыдущему действию, сохранив его стек и очистив все действия после него из стека.
Например, если стек был A-> B-> C-> D и вы запускаете B с этим флагом, стек будет A-> B
источник
Вы хотите взять под контроль поведение кнопки «Назад»? Вы можете переопределить кнопку «Назад» (чтобы перейти к определенному занятию) одним из двух способов.
Для Android 1.6 и ниже:
Или, если вы поддерживаете только Android 2.0 или выше:
Для более подробной информации: http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html
источник
Просто вызовите этот метод, чтобы завершить текущее действие или вернуться к onBackPressed
ИЛИ
источник
если вы хотите перейти к просто хотите перейти к предыдущему использованию активности
ИЛИ
если вы хотите перейти ко второму занятию или ниже, используйте следующее:
источник
Добавьте это в свой метод onCLick (), он вернется к вашему предыдущему действию
или вы можете использовать это. У меня отлично сработало
источник
Если вы правильно настроили файл AndroidManifest.xml с родительским действием, вы можете использовать:
Где это ваш ребенок деятельности.
источник
Попробуйте это действовать, как вы должны нажать кнопку назад
источник
Вы можете явно позвонить,
onBackPressed
это самый простой способ.Обратитесь к предыдущему действию для деталей
источник
Получил ту же проблему и
работал нормально для меня, оба работали одинаково, но не повезло с
return
источник
Начните второе действие, используя намерение (используйте
startActivity
или вstartActivityForResult
соответствии с вашими требованиями). Теперь, когда пользователь нажимает кнопку «Назад», текущая активность сверху будет закрыта, а предыдущая будет отображена.Теперь допустим, что у вас есть два действия: одно для выбора некоторых настроек для пользователя, таких как язык, страна и т. Д., И после его выбора пользователь нажимает кнопку «Далее», чтобы перейти к форме входа (например). Теперь, если вход в систему неудачен, тогда пользователь будет на входе в систему, что, если вход в систему успешен?
Если вход в систему успешен, то вы должны начать другое действие. Это означает, что будет запущено третье действие, но все еще выполняются два действия. В этом случае это будет хорошо для использования
startActivityForResult
. После успешного входа в систему отправьте данные OK обратно к первому действию и закройте действие входа. Теперь, когда данные получены, начните третье действие и закройте первое действие, используя Finish.источник
Вы можете попробовать это:
источник
Все новые действия / намерения по умолчанию имеют обратное / предыдущее поведение, если только вы не указали код
finish()
в вызывающем действии.источник
и если вы хотите, чтобы при нажатии кнопки вернуться назад, просто положить
источник
Попробуйте это, это работает и на кнопке назад панели инструментов как на аппаратной кнопке назад .
источник
Я предлагаю NavUtils.navigateUpFromSameTask (), это легко и очень просто, вы можете узнать это у разработчика Google. Хочу помочь вам!
источник
Есть несколько случаев, чтобы вернуться к вашей предыдущей деятельности:
Случай 1: если вы хотите вернуть результат к предыдущей активности, тогда ActivityA.java
FBHelperActivity.java
Случай 2: ActivityA -> FBHelperActivity ----> ActivityA
ActivityA.java
FBHelperActivity.java
источник
Во-первых, об этом нужно помнить, если вы хотите вернуться к предыдущему занятию. Тогда не вызывайте метод finish (), когда переходите к другому действию с помощью Intent.
После этого у вас есть два способа вернуться от текущей активности к предыдущей:
Просто позвоните:
finish()
под слушателем нажатия кнопки, или переопределите следующий метод, чтобы вернуться с помощью кнопки возврата системы:источник
Помимо всех упомянутых ответов, это все еще альтернативный способ сделать это, скажем, у вас есть два класса, класс A и класс B.
В классе A вы выполнили некоторые действия, такие как выбор флажка, распечатали некоторые данные и намерение передать класс B. В классе B вы хотели бы передать несколько значений в класс A и сохранить прежнее состояние класса A, который вы можете использовать, попробуйте эту альтернативу метод или скачать исходный код, чтобы продемонстрировать это
http://whats-online.info/science-and-tutorials/125/Android-maintain-the-previous-state-of-activity-on-intent/
или
http://developer.android.com/reference/android/content/Intent.html
источник
Просто попробуйте это, первое занятие
В вашем втором занятии
источник