2017-03-17 39 views
0

這是一個測試模式應用程序,用於測試此應用程序安裝的設備(顯示屏,按鍵等)。向上導航vs onBackPressed()android - 使用View Pager更新碎片?

應用程序運行主要一個活動查看傳呼機,有幾個片段模擬不同的「屏幕」。這些片段中的每一個都有一個按鈕,然後將用戶帶到另一個活動,通過它們可以測試他們的設備。

例如,按壓顯示器上的「開始顯示測試」 片段將用戶帶到顯示活性其中它們然後用一排三個圖像呈現;那麼此活動會從MainActivity調用名爲DISPLAY_TEST_PASSED的全局標誌並將其設置爲true,並且用戶將使用ViewPager和顯示片段導航回MainActivity。

我希望發生的是顯示片段從「顯示測試」,以「顯示測試 - 傳遞」更新上的文字......但在更新後顯示活動調用onBackPressed()標誌不更新顯示中的文字片段

有趣的是,主叫NavUtils.navigateUpFromSameTask從顯示器(DisplayTestActivity.this)活性事實上確實更新在顯示片段的文本。有什麼不同?我雖然導航起來和調用onBackPressed()一樣?

的可視化我的應用程序:

MainActivity (with view pager) : fragment1 ... DisplayFragment ... fragment3 ... fragment4 ... 
                 | 
                DisplayActivity 

    I want DisplayActivity to update MainActivity (and thus the display fragment) 
    but for some reason this doesn't happen onBackPress() while it does on Up 
    Navigation. Why? 

回答