Java Android FragmentManager侦听器

Java Android FragmentManager侦听器,java,android,Java,Android,在搜索存储和通知侦听器的最佳方式(弱引用与强引用、匿名侦听器与垃圾收集器)时,我了解了Google如何实现它们的侦听器。FragmentManager类中的以下代码: ArrayList<OnBackStackChangedListener> mBackStackChangeListeners; public void removeOnBackStackChangedListener(OnBackStackChangedListener listener) { if (mB

在搜索存储和通知侦听器的最佳方式(弱引用与强引用、匿名侦听器与垃圾收集器)时,我了解了Google如何实现它们的侦听器。FragmentManager类中的以下代码:

ArrayList<OnBackStackChangedListener> mBackStackChangeListeners;

public void removeOnBackStackChangedListener(OnBackStackChangedListener listener) {
    if (mBackStackChangeListeners != null) {
        mBackStackChangeListeners.remove(listener);
    }
}

void reportBackStackChanged() {
    if (mBackStackChangeListeners != null) {
        for (int i=0; i<mBackStackChangeListeners.size(); i++) {
           mBackStackChangeListeners.get(i).onBackStackChanged();
        }
    }
}
在我看来,ArrayList中的下一个侦听器将被跳过

我错过什么了吗?这是不应该做的事吗

@Override
void onBackStackChanged()
{
    mFragmentManager.removeOnBackStackChangedListener(this);
}