我有一个监听器:
getFragmentManager().
addOnBackStackChangedListener(new OnBackStackChangedListener() {
@Override
public void onBackStackChanged() {
Log.d("MainActivity", "Change fragment");
}
});
还有两个按钮。第一个按钮的单击事件:
getFragmentManager().
beginTransaction().
add(R.id.root, fragm).
commit();
第二个按钮的单击事件:
getFragmentManager().
beginTransaction().
remove(fragm).commit();
但听众不起作用。函数onbackstackchanged不调用。
最佳答案
因为第一个事务没有通过调用addToBackStack(...)
添加到backbackback。所以尝试:
getFragmentManager().
beginTransaction().
add(R.id.root, fragm).
addToBackStack(null).
commit();