Android:从backstack弹出片段时调用哪种方法

Rav*_*avi 2 android android-fragments android-transitions

我已经研究过堆栈溢出但似乎没有找到解决方案.

我有一个mainActivity和几个frgaments,我正在通过replace方法进行片段事务 和相应的片段添加到backstack,但我的问题是当我从后面的堆栈弹出它回调被调用我想检查一些东西然后从堆栈弹出,当我从后台堆栈弹出时,onResume()方法没有调用

救命

Mar*_*rky 8

只需执行以下操作:

getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener()
    {
        public void onBackStackChanged() 
        {                   
            // Your logic here               
        }
    });
Run Code Online (Sandbox Code Playgroud)

即使添加了片段,也会在后端堆栈上的每次更改时调用此回调.如果您想知道何时删除片段,请添加以下逻辑

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

if (someFragment == null) {
   // this fragment was removed from back stack
}
Run Code Online (Sandbox Code Playgroud)