2013-05-31 2 views
3

Мой MainActivity имеет Button, что при нажатии этот метод вызывается:метод onRestart не вызывается после возвращения

public void sendMessage(View view) { 
    //Do something in response to the button 
    Intent intent = new Intent(this, DisplayMessageActivity.class); 
    EditText editText = (EditText)findViewById(R.id.edit_message); 
    String message = editText.getText().toString(); 
    intent.putExtra(EXTRA_MESSAGE, message); 
    startActivity(intent); 
} 

Так приложение отображает DisplayMessageActivity, затем ActionBar нажимается, чтобы вернуться к MainActivity. И у меня есть onRestart, который, как мне кажется, должен быть вызван при возврате в MainActivity (он возвращается к MainActivity), но он не вызывается. В чем проблема?

onRestart метод:

@Override 
protected void onRestart() { 
    super.onRestart(); 
    TextView textView = new TextView(this); 
    textView.setTextSize(40); 
    textView.setText(str); 
    setContentView(textView); 
} 
+0

Не стесняйтесь, чтобы принять ответ, если она соответствует вашим потребностям :) –

ответ

5

Вы хотите метод onResume(). onRestart() вызывается после остановки вашего Activity не просто приостанавливает его. Ознакомьтесь с диаграммой Activity Lifecycle для получения дополнительной информации.

+0

Android ссылка говорит: _once деятельности является полностью препятствует и не видно, его stops._. Поэтому при возврате он должен называть 'onRestart', не так ли? – Sam

+5

Это не совсем понятно для всех. Даже Роман Гай сказал, что он борется с этим. Но вы можете рассчитывать на вызовы 'onResume()' и 'onPause()'. – CaseyB

+0

@ Сей, я тоже согласен с тем, что вы говорите, а также попробовал образец приложения, заданный на сайте разработчика Android, и он также ведет себя одинаково. – pyus13

1

Согласно this сообщение, которое вы хотите порекомендовать. Вот еще несколько вход:

  1. onPause() & onResume()
  2. The lifecycle
  3. Stopping and Restarting an Activity

Edit:

Но, как я прочитал здесь:

Пользователь выполняет действие в лету ur, которое запускает новое действие. Текущая активность прекращается, когда создается вторая активность. Если пользователь затем нажимает кнопку «Назад», первое действие перезапускается.
Источник: Stopping and Restarting an Activity

вы правы ...

+0

Спасибо, андроид кажется непоследовательным – Sam

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