Как получить предварительно заполненное поле EditText после нажатия кнопки «Назад»

У меня есть представление настройки, в котором пользователь может ввести свое имя и адрес электронной почты и нажать «Готово», когда они закончат, что приведет их к другому действию1. Когда они находятся в Activity1 и нажимают кнопку «Назад» на телефоне, они переходят на экран, где они ввели свое имя и адрес электронной почты. Однако поля имени и электронной почты EditText пусты.

В представлении, где вводятся имя и адрес электронной почты, я посмотрел, были ли onStart, onCreate, OnPause, onResume,... где вызывается после нажатия кнопки «Назад», но это не так.

Знаете ли вы, как я могу сделать так, чтобы в полях EditText была информация, которая была введена ранее.


person Alexis    schedule 04.07.2010    source источник
comment
onResume не был вызван, когда вы вернулись в Activity? Это действительно странно. Как вы начинаете деятельность2?   -  person Pentium10    schedule 04.07.2010


Ответы (1)


Что ж, вы можете хранить данные в одноэлементном классе, и когда они возвращаются к действию, оно проверяет, существуют ли эти значения, и заполняет EditText.

Вот как вы можете переопределить onresume:

@Override
  public void onResume() {
    super.onResume();

    // do whatever you need to do here
  }
person xil3    schedule 04.07.2010
comment
Знаете ли вы, какие события запускаются, когда пользователь возвращается к предыдущему действию? Я попытался подключить eclipse и отладчик ко всем событиям, о которых я знаю, но ни одно из них не было запущено, когда пользователь возвращается к предыдущей активности в стеке активности... - person Alexis; 05.07.2010
comment
'public void onResume()' срабатывает, когда вы возвращаетесь к активности. Вы можете переопределить его и делать то, что вам нужно - я обновил ответ кодом. - person xil3; 05.07.2010