我有返回堆栈的监听器:
getFragmentManager().
addOnBackStackChangedListener(new OnBackStackChangedListener() {
@Override
public void onBackStackChanged() {
Log.d("MainActivity", "Change fragment");
}
});
还有两个按钮。第一个按钮的 onClick 事件:
getFragmentManager().
beginTransaction().
add(R.id.root, fragm).
commit();
第二个按钮的 onClick 事件:
getFragmentManager().
beginTransaction().
remove(fragm).commit();
但是监听器不起作用。函数 onBackStackChanged 不调用。
最佳答案
猜测是因为第一笔交易还没有通过调用 addToBackStack(...)
添加到后台堆栈。所以尝试:
getFragmentManager().
beginTransaction().
add(R.id.root, fragm).
addToBackStack(null).
commit();
关于android - 监听器不适用于 fragment 的后栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13121147/