我有后台的监听器:
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不会调用。
答案 0 :(得分:7)
猜测是因为第一笔交易尚未通过拨打addToBackStack(...)
添加到Backstack。所以试试:
getFragmentManager().
beginTransaction().
add(R.id.root, fragm).
addToBackStack(null).
commit();