在這兩個Testing Fundamentals和題爲Android開發者文檔中的「添加狀態管理測試」的Activity Testing部分,它表明測試活動重新開始使用:Android的活動測試 - 測試重新啓動
mActivity.finish();
mActivity = this.getActivity();
已經與另外試過這種在上述兩個語句之間,我可以看到當執行mActivity = this.getActivity()時,Activity不會在屏幕上重新繪製。我的測試看起來很有效,但我很好奇爲什麼活動不會在屏幕上重新繪製,因爲這似乎沒有在API文檔中提及。
我會很感激任何人都可以給任何見解。在調用finish()方法時,Activity從屏幕上消失,但在調用this.getActivity()時不會重新出現。我也試過在getActivity()之後放置一個mActivity.setVisible(true),但這沒有幫助。
我的代碼片斷現在是:
...
mActivity.finish();
Thread.sleep(5000);
mActivity = this.getActivity();
Thread.sleep(5000);
...
我已經廣泛搜查,但找不到原因時getActivity()被調用的活動沒有再出現任何解釋。
我已經在Android 2.3.5,2.3.3和2.2.2上測試過,所有結果都一樣。
謝謝你問這個問題,因爲在UI線程是不是在屏幕上我的UIThread代碼將無法運行! – Noumenon 2013-07-30 14:58:35