2015-07-22 42 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

相关问题