Сегодня я тестировал устройство простым приложением. У меня есть методПроверка жизненного цикла ActivityUnitTestCase
protected void onRestart() {
disp.setText("The numbers you entered were");
super.onRestart();
}
И в моем тесте я использую
public void testRestart(){
String dispText = disp.getText().toString();
getInstrumentation().callActivityOnStop(mActivity);
assertEquals(dispText, disp.getText().toString());
}
утверждение возвращает истинное значение, что текст не изменяется. Однако, когда я использую
public void testRestart(){
String dispText = disp.getText().toString();
getInstrumentation().callActivityOnRestart(mActivity);
assertEquals(dispText, disp.getText().toString());
}
утверждение неверно, как ожидалось.
В соответствии с жизненным циклом действия onRestart() всегда следует вызывать после onStop(), если пользователь переходит от активности.
Не следует ли вызывать метод onRestart() после onStop()? Или вызов getInstrumentation().callActivityOnStop(mActivity);
убивает активность, а не просто останавливает ее?
Я понимаю, что. Мой вопрос в том, что методы жизненного цикла полностью независимы друг от друга? Не следует ли вызывать callActivityOnStop' call onStop(), а затем onRestart()? Или он просто вызывает onStop()? – Traxex1909
В упомянутом случае вы должны вызвать методы жизненного цикла, поэтому вызов 'onStop()' не будет вызывать 'onRestart()' –
Хорошо, спасибо. – Traxex1909