在我的應用程序中,我的活動有一個帶有片段的容器。當點擊該片段中的按鈕時,我會向容器中添加一個新片段,並將前一個片段添加到後臺堆棧中。檢測一個片段再次在頂部(有焦點)
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.primary_fragment_container, homeFragmentHandler);
fragmentTransaction.addToBackStack(folderId.toString());
fragmentTransaction.commit();
結果是按回來關閉頂部片段,並返回到前一個片段,這正是我想要的。但是此時應該刷新片段上的某些元素。當用戶點擊並返回到前一個片段時,我怎麼知道要刷新該片段中的數據?這種情況下是否有onResume()方法?
片段確實有一個onResume方法。它非常適合你的需要。 – FWeigl
@Ascorbin在這種情況下沒有調用onResume方法。看起來,添加新片段時,以前的片段從未實際暫停,因此永遠不必恢復。 – BooleanCheese
通過將數據作爲一個包傳遞,U可以從片段移動到片段。類似於從活動發送到活動的數據是意圖。每次創建原始片段,獲取意圖並檢查數據。如果它來自第二個片段,則重新加載所需的任何數據。 –