2015-07-22 40 views
2

我研究了堆棧溢出,但似乎找不到解決方案。Android:在從後臺彈出碎片時調用哪種方法

我有一個mainActivity和幾個frgaments,我被 replace方法和相應的片段做片段的交易加入到堆棧中,但我的問題是,當我彈出它從後棧調用回調函數我想前要檢查什麼從堆棧的onResume()方法並沒有叫其彈出時,我突然從後面堆

HELP

+0

檢查片段生命週期http://developer.android.com/guide/components/fragments.html – bGorle

回答

5

只需做到以下幾點:

getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener() 
    { 
     public void onBackStackChanged() 
     {     
      // Your logic here    
     } 
    }); 

這個回調將在後退堆棧上的每次更改時被調用 - 即使添加了片段。如果你想知道什麼時候去掉了片段然後添加以下邏輯

Fragment someFragment = (Fragment)getSupportFragmentManager().findFragmentById(R.id.fragmentItem); 

if (someFragment == null) { 
    // this fragment was removed from back stack 
} 
+0

,但它也被稱爲時片段首先被初始化爲什麼? – Ravi

+0

更新了我的回答 – MarkySmarky

+0

@thanx Marky 我想知道在activity或fragment中定義上面的方法會更好嗎? – Ravi

相關問題