2017-05-08 50 views
1

我有片段A和片段B添加到同一個容器中(不能代替)。我也在這個backstack上添加了這個事務。現在,當按下設備後,片段B將被刪除,片段A將變爲可見。當片段A變得可見時,我想做點什麼。我搜查了很多,但找不到有用的東西。如何確定是否刪除了其他片段頂部的片段

注 - 我不想添加backstackchangelistner並在該片段上調用onResume。

回答

1

您可以覆蓋片段中的onHiddenChanged(boolean hidden)
這將被顯示/隱藏時調用。

我在我的應用程序中使用相同的方法,其中我添加一個片段並隱藏舊的片段,然後在用戶按下Back時使用onHiddenChanged回調,並再次顯示舊片段。

+0

正如我所說的,我已經添加片段,而不是替代。我認爲,onHiddenChaged被替換時被調用。 – Virat18

0
As you have 2 entries in Back stack, you can check back stack count on 
Back Pressed method. 
FragmentManager mFragmentManager = getSupportFragmentManager(); 
     int count= mFragmentManager.getBackStackEntryCount(); 
     if(count==1){ 
      // do your work 
     } 
0

你可以嘗試

@Override 
    public void setMenuVisibility(boolean menuVisible) { 
     super.setMenuVisibility(menuVisible); 
    } 

`fragment.isVisible();`