В обоих Testing Fundamentals и секция Activity Testing под названием «Добавление тестов государственного управления» в документации для разработчиков Android, это предполагает тестирование активности перезагружается с помощью:Android тесты Активность - Тестирование Перезапуск
mActivity.finish();
mActivity = this.getActivity();
Попробовав это с добавлением от сна между двумя вышеприведенными утверждениями, я вижу, что действие не перерисовывается на экране при выполнении mActivity = this.getActivity(). Мой тест, похоже, работает, но я заинтригован, почему активность не перерисовывается на экране, поскольку это, похоже, не упоминается в документации API.
Буду благодарен за любое понимание этого, которое может дать любой. В тот момент, когда вызывается метод finish(), Activity исчезает с экрана, но не появляется, когда вызывается this.getActivity(). Я также попытался установить mActivity.setVisible (true) после getActivity(), но это не помогает.
Мой фрагмент кода теперь:
...
mActivity.finish();
Thread.sleep(5000);
mActivity = this.getActivity();
Thread.sleep(5000);
...
Я искал обширно, но не может найти никакого объяснения, почему активность не появляется, когда getActivity() называется.
Я тестировал это на Android 2.3.5, 2.3.3 и 2.2.2 с одинаковым результатом.
Спасибо за этот вопрос, потому что мой UIThread код не будет работать, когда поток пользовательского интерфейса не был на экране! – Noumenon